一定時間アクセスされていないフォルダー内のすべてのファイルを削除するにはどうすればよいですか?


14

1週間以上アクセスされていないフォルダー内のすべてのファイルを削除する、夜間のcronジョブを実行したいと思います。これをbashで行う最も効率的な方法は何ですか?


2
findatimeに基づいてフィルタリングできます。atimeの「正確さ」はnoatime、少なくとも設定に依存します(参照)。

回答:


20

findツールが必要です

find folder -depth -type f -atime +7 -delete

(これがします削除し、すべてのファイル(唯一の正規のもの与えられたフォルダ内に、無パイプ、特殊デバイス、ディレクトリ、シンボリックリンク)とすべてのサブディレクトリを(再帰的に)最後の場所、アクセス時間があるより長い 7日前。)


6
-type fそこに追加して、ディレクトリ全体ではなくファイルのみを削除するようにすることができます。
シャドゥール

3

tmpwatchcronジョブに入れることができるものをチェックアウトすることもできます。を使用してロールアウトする必要はありませんfind。RHELでは、tmpwatchRPMにあります。


これは間違いなくよりエレガントなソリューションですが、私はの移植性を好みfindます。
ブルダーミルク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.