人気ブログランキング | 話題のタグを見る
mytips.exblog.jp ブログトップ

crontab cacheファイルを定期的に消す
pear cacheなどのキャッシュファイルなど、放置しておくとディレクトリ内に大量のファイルが残ってしまう場合があるので、crontabでディレクトリ内のファイルを削除することをやってみる。


シェルがディレクトリ、ファイルの識別に利用できる便利なオプションがある
---------------
-delete ファイルを削除する
-ls リストを見る.'ls -dgils'と同じ振る舞いをする
-printfindコマンドの結果を表示する
-exec command {} ¥; 与えられたコマンドを実行する
-ok -execオプションのかわりに使用する.コマンドを実行する前に了承をとる
-depth ディレクトリ階層の最下層からコマンドを実行する.通常は最上位層から実行する
-prune あるディレクトリを処理対象から除外したいときに使用する
---------------

これを利用してcrontabに特定ディレクトリ内のファイル削除を実行するように設定する。

こんな風。


30 2 * * * root find /tmp/default -atime +7 -delete

7日を過ぎたファイルを削除。
あるいは

0 1 * * * root find /tmp/default -atime +7 -exec rm -rf {} \;

-execの後「rm -rf」を「-atime +7(7日を過ぎたファイル)」に対して実行

また別に便利な処理方法
*/15 * * * * root find /usr/pear_cache/default -type f -size -1500c -delete
15分ごとに、/usr/pear_cache/defaultディレクトリ以下で1500バイト以下のファイルを削除


cronでの利用以外にも通常のコマンドラインからも利用できる


find ./ -amin +60
60分以上古いファイルをfind
by sato025 | 2007-10-10 17:42


by fd


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();