crontab cacheファイルを定期的に消す
pear cacheなどのキャッシュファイルなど、放置しておくとディレクトリ内に大量のファイルが残ってしまう場合があるので、crontabでディレクトリ内のファイルを削除することをやってみる。
シェルがディレクトリ、ファイルの識別に利用できる便利なオプションがある
---------------
-delete ファイルを削除する
-ls リストを見る.'ls -dgils'と同じ振る舞いをする
-printfindコマンドの結果を表示する
-exec command {} ¥; 与えられたコマンドを実行する
-ok -execオプションのかわりに使用する.コマンドを実行する前に了承をとる
-depth ディレクトリ階層の最下層からコマンドを実行する.通常は最上位層から実行する
-prune あるディレクトリを処理対象から除外したいときに使用する
---------------
これを利用してcrontabに特定ディレクトリ内のファイル削除を実行するように設定する。
こんな風。
7日を過ぎたファイルを削除。
あるいは
-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
シェルがディレクトリ、ファイルの識別に利用できる便利なオプションがある
---------------
-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