スクリプトで実行する毎月のクローンジョブを設定します。
スクリプトは、ファイルが大きすぎる場合は毎月ファイルを回転させ、古いファイルの名前を変更します。 6か月以上経過したファイルを削除したいです。
このスクリプトを月に一度実行したいと思います。古いものを削除できますか?
これが十分に明確ではない場合は、お知らせください。
答え1
次のように起動できます。
find /your/file -mtime +182 -exec rm {} +
+182
曜日はどこにありますか?
答え2
を使用してくださいlogrotate
。ほとんどのLinuxシステムですでに利用可能であり、多くのパッケージにはすでにlogrotateスクリプトが事前設定されているか、それを調整または直接作成できます。
答え3
@scottmarriott findのすべてのバージョンが+/- -mtimeをサポートしているわけではありません。どのオペレーティングシステムとfindバージョンを使用していますか? – ヨルダン 2013年5月30日 13:04
@jordanmの質問に答えるための1つの方法は、見つかったすべてのfind
結果を列挙し、ループ本文でこれに対していくつかの作業を実行することですfor
。
# Using the general form:
for <identifier> in $(find <source-dir> -mtime +<days>) ; do <thing> ; done
# You could write their location to a parallel script file
echo '#!/bin/bash' > ./old.stuff
for hogfile in $(find . -mtime +182 ) ; do echo "rm $PWD/$hogfile &" >> "./old.stuff" ; done
# Make it into an executable
chmod +x ./old.stuff
# Profit
./old.stuff