20日を過ぎたフォルダとそのコンテンツを自動的に削除するには?

20日を過ぎたフォルダとそのコンテンツを自動的に削除するには?

raw_response_csvfiles複数の名前のフォルダを含む親フォルダがありますa,b,c...z

a,b,c...zフォルダには多くのcsvファイルが含まれています。

a,b,c..z30日を過ぎたフォルダとファイルを自動的に削除する方法は?csv

動作するbashスクリプトを探していますcron

私はこれを思い出しましたが、csvフォルダではなくファイルだけを削除しますa,b,c....z

*/5 * * * *  /usr/bin/find "raw_response_csvfiles" -name \*.csv -mtime +20 -delete

答え1

*/5 * * * *  /usr/bin/find /somepath/raw_response_csvfiles/ -type f -name "*.csv" -mtime +20 -exec /usr/bin/rm -f {} \; 

ファイルのcron環境でのみ機能します。

a、b、c..z ディレクトリも削除するには、そのディレクトリの専用 cron 行を構築し、rm -rf {}exec 部分で a を実行できます。

または撮影時にすべてを破壊するには:

*/5 * * * *  /usr/bin/find /somepath/raw_response_csvfiles/ -name "[a-z]" -type d -mtime +20 -exec /usr/bin/rm -rf {} \;

ファイルやディレクトリを見つけるもう一つのことは、*/5非常に悪いアプローチです。これらのファイルを管理するために実際に必要なのは、このようなジャンクプログラムの実行を避けるために考慮する必要があります。

関連情報