Linuxで指定日以前の古いファイルを検索・削除する方法をメモしておきます。不要な過去ファイル(ログファイルやバックアップファイルなど)をまとめて削除するときに使えます。
指定日以前の古いファイルを検索・削除する方法
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ルートディレクトリ配下の30日以上前の.logファイルを検索する | |
$ find / -type f -name "*.log" -mtime +30 -exec ls -l {} \; | |
# ルートディレクトリ配下の30日以上前の.logファイルを削除する | |
$ find / -type f -name "*.log" -mtime +30 -exec rm {} \; |
find
コマンドで指定日以前のり古いファイルの検索・削除を行います。find
コマンドのオプションについては補足しておきます。
-type f
: 検索対象をファイルに絞る(ディレクトリは検索対象外)-name ファイル名
: 検索対象のファイル名(正規表現で検索対象のファイル名を絞るときに便利です)-mtime +n
: ファイルの最終更新日時がn日以上前のものに絞る-exec コマンド
: 検索結果に対して指定のコマンドを実行する
まとめ
Linuxで指定日以前の古いファイルを検索・削除する方法でした。