2008年11月4日火曜日

UNIXで古いファイルを検索するには

findを使用。
find <検索対象ディレクトリ> -mtime +<経過日数>
とすればよい。
例えば/home/hoge内の10日以上経過したファイルを検索するには、
find /home/hoge -mtime +10
上記の記述の中で'+'の記号は必須。
これを付けないと、指定した日数だけ経過したファイルを検索するので、それより古いファイルが対象外になってしまう。
また、対象ディレクトリ内にあるサブディレクトリ内も検索対象になるので注意。

これを踏まえて、検索したファイルの詳細情報を表示するには、
ls -l `find <検索対象ディレクトリ> -mtime +<経過日数>`
とする。

で、恐らく
rm -rf `find <検索対象ディレクトリ> -mtime +<経過日数>`
とすれば対象ファイルを削除できるが、面倒なので未検証(^^;)

以上、(rm以外は)Solaris9で確認。

0 コメント: