何日か前より古いファイルを削除するコマンド。

find /ディレクトリ/ -mtime +n | xargs rm -rf

こんだけ。はい。

やっかいなところは「-mtime」オプションで、「+n」が+0だと1日(24時間)より前。で、+1ごとに24時間前になるので、例えば1週間(7日)以上前のファイルを削除したい場合は、+6になるとな。

で、まぁそんなファイルやらディレクトリやらを探して、xargsにパイプしてやってrmで削除ってわけですな。


例:2週間以上前のSambaのログを削除する。

[root@localhost ~]# find /var/log/samba/ -mtime +13 | xargs rm -rf

で、これをcronで毎日実行するように指定すれば、毎日2週間以上前のSambaログが削除されることになると。

ディレクトリを削除したくない場合は、rmコマンドの「-r」オプションを外しておく。
「-f」オプションを外すと「削除してもいいですか?」と訊かれ、処理が止まってしまうので必須ですな。


こんな感じで大丈夫……だけど、使う方は念のため検証してみてくださいな。