cronjobを使用して/ tmpをクリーンアップする


11

bashスクリプトとcronjobを使用して/tmp自動的に空にするのは安全ですか、それとも別の方法で行う必要がありますか?

回答:


13

/tmpシステムを再起動するたびにクリーンアップされますが、頻繁に再起動できないシステムの場合、特に/tmpスクリプトをクリーンアップすることが唯一の目的である場合は、スクリプトをクリーンアップすることができます。

そこに重要なデータを保持するプロセスはありませんが、で/tmpデータを書き込むプロセスを中断することなくクリーニングできることが重要ですtmp

tmpreaperそのための使用をお勧めします。

でインストールできsudo apt-get install tmpreaperます。

manページから:

tmpreaperは、指定された秒数アクセスされていないファイルと空のディレクトリを再帰的に検索して削除します。通常、「/ tmp」などの一時的な保持領域に使用されるディレクトリをクリーンアップするために使用されます。このマニュアルの「警告」セクションをお読みください。

通常、使用には時間仕様引数を指定して呼び出すことtmpreaperが含まれ/tmpます。時間仕様の引数にはd、日、h時間、m分、s秒のいずれかを指定できます。

--testコマンドを実際に実行する前に、ドライランを使用して結果の出力を取得してください。これにより、実際に変更をファイルシステムにコミットする前に何が削除されるかがわかります。


ありがとうございました!私の質問に完全に答えるために、これが単純な再帰的な削除を使用するよりも優れている理由を教えてください。
Jochem Kuijpers 14年

1
そうではなく、使用するのがより簡単で、使用される引数がより理解しやすくなっています。rm -rfによって返されたファイルのリストの単純なものfindも仕事をします。これは「単なる別の方法」であり、最高の方法であるとは言いませんが、セットアップしたサーバーで使用する方法だけです。
Bruno Pereira

tmpreaper価値が使用して、良いツールのように思える--testし、--showdeletesテストするとき。
RichVel 2016

3

実行するcronjobを追加してみてください

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

これにより、5日より古いすべてのファイルが削除されます。

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