6か月以上経過したファイルを削除するスクリプト


12

スクリプトを開始するために、月に1回cronジョブを設定します。

スクリプトは、ファイルが大きくなりすぎると毎月ファイルをローテーションし、古いファイルの名前を変更することです。6か月以上経過したファイルを削除する必要がありました。

このスクリプトを月に1回実行することを検討しています。古いものを削除することは可能ですか?

それが十分に明確でない場合はお知らせください。


11
なぜ使用しないのlogrotateですか?
マイケルハンプトン

@scottmarriottええ、ハンプトンさんの言う通り、あなたが説明した機能は基本的にlogrotateが行うこととまったく同じです。
Bratchley 2013年

ええ、私はlogrotateをよく見てきましたが、すべての人が乾杯するのは理にかなっています
スコット・マリオット

@MichaelHamptonあなたはそれを答えにするべきです。
evilsoup 2013年

回答:


20

あなたはこれで始めることができます:

find /your/file -mtime +182 -exec rm {} +

+182日数はどこですか。


そのおかげで、それを試してみるかもしれませんが、おそらく私はlogrotateが最良のオプションかもしれません
スコット・マリオット

@jordanmこれがうまくいかない理由はありますか?
スコット・マリオット2013年

ApplicationServer / logs / TestClone01 $ ls -ltr total 3320 1048458 13 Dec 09:46 SystemOut_12.12.13_09.46.29.log 28 May 12:44 SystemOut.log.2013-05-28-12:44:52 71 30 May 08: 57 SystemOut.log.2013-05-30-08:57:22 48432 30 May 09:16 SystemOut.log no_env):/ usr / websphere6 / was61TE_LV2 / ApplicationServer / logs / TestClone01 $ find SystemOut.log -mtime +1- exec rm {} + find:0652-083 Cannot execute ::パス名のファイルまたはディレクトリが存在しません。
スコット・マリオット2013年

日数を1に変更しました
スコットマリオット、2013年

@scottmarriottのすべてのバージョンのfindサポートがサポートさ+/-れるわけではありません-mtimefindお使いのOSとバージョンは何ですか?
ヨルダン2013年

2

そのまま使えますlogrotate。ほとんどのLinuxシステムですでに利用可能であり、多くのパッケージにはすでにlogrotateスクリプトが構成されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.