私のアプリケーションは、ユーザーが特定のアクションを実行するとディレクトリを作成します。これらのディレクトリは、マシン上に正確に 1 時間保存され、その後削除されます。
ここで、アプリケーションの「削除ロジック」部分を、1 分ごとに実行される cron ジョブに移動したいと思います。
削除するディレクトリが にあるとします/tmp/files/
。スクリプトはこのパスにあるすべてのディレクトリをチェックし、1時間前に作成されたものをすべて削除します。
ご協力いただければ幸いです。
前もって感謝します!
**解決済み**
これはうまくいくでしょう:
find ./* -mmin +60 -type d -exec rm -rdf {} \;
答え1
使用しないでください。find ./*
これにより、シェルは呼び出す前にワイルドカードを展開しますがfind
、ファイルが多すぎる場合は失敗します。
"./*"
代わりに、次のように find コマンドに渡す必要があります。
find . -type d -path "./*" -mmin +60 -exec rm -rf {} \;