次のコマンドを使用して、30日以上経過したファイルやディレクトリのディレクトリをクリアし、アーカイブディレクトリに移動します。アーカイブディレクトリは、ファイルの返却を求められない場合は数週間後に削除できます。ターゲットディレクトリにはユーザー名ごとのサブディレクトリがあり、アーカイブディレクトリも同様です。
これは私が使用するコマンドです:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
私はUbuntuのを頼む上の質問に答えるために、このバージョンの修正を提案し、別のユーザーが行の終わりを変更するには、コードを編集した\;
ために+
、それはより速くだとして(と、より正しいです?)。こちらをご覧ください
ただし、コマンドが実際に使用するコマンドに含まれていない+
場合は、この方法で使用しても機能します。試してみると、エラーメッセージが表示されます。-exec
ls -lh
+
find: missing argument to '-exec'
なぜこのように振る舞うのか、または正しいコマンドがどうなるのかはわかりません。コマンド修正を投稿するだけでなく、盲目的に提案に従うだけではなく、理解したいと思います。
+
、同じコマンドに複数の引数を提供していますが、mv
それに対処することはできません!