技術空間

Linux

findで指定日数以前のファイルを削除する方法


TOP > Linux > findで指定日数以前のファイルを削除する方法



■findで指定日数以前のファイルを削除する方法

ディスクの使用量が多くなり、不要なファイルを削除したいというケースはよくある。例えば更新日付が3か月前までのファイルを削除したいなど、古いファイルを削除する場合、findコマンドで削除できる。 まずfindコマンドで指定日数以前のファイルを検索するには以下のコマンドで検索できる。※第一引数の「.」はカレントディレクトリ配下を検索するという意味。

find . -mtime +{日数}

更新日付が90日前までのファイルを検索する場合は以下のようになる。

find . -mtime +90

ちなみに90日以内に更新されたファイルを検索する場合は以下のようになる。日付の前に付く符号がマイナスになる。

find . -mtime -90

上記だとディレクトリも対象になるが、ファイルだけを対象にしたい場合はtypeオプションを付けるとよい。

find . -mtime +90 -type f

さて、検索でヒットしたファイルを削除したい場合、execオプションを使用する。

find . -mtime +90 -exec rm -f '{}' \;
find . -mtime +90 -exec rm -f '{}' ';' <- 最後はシングルクォートで括ってもOK

念のため、削除実行する前に、lsで削除対象のファイルを確認しておくとよいだろう。

find . -mtime +90 -exec ls -l '{}' \;


TOP > Linux > findで指定日数以前のファイルを削除する方法

Tweet ̃Gg[͂ĂȃubN}[Nɒlj
技術空間