Cronジョブクリーンディレクトリ

Cronジョブクリーンディレクトリ

cron ジョブを使用して、フォルダー内の 14 日以上経過したファイルを削除するにはどうすればよいでしょうか。これまで試したことはすべて機能しませんでした。

答え1

を使用すると、簡単に実行できるはずですfind。 で次のコマンドを実行するだけですcrontab(これにより、ファイルとサブディレクトリが削除されます)。

find /path/to/target -mtime +14 -delete

からman find

   -mtime n
          File's data was last modified n*24 hours ago.  

   Numeric arguments can be specified as

   +n     for greater than n,

   -n     for less than n,

   n      for exactly n.


   -delete
          Delete files; true if removal succeeded.  If the removal failed,
          an  error message is issued.  If -delete fails, find's exit sta‐
          tus will be nonzero (when it eventually exits).  Use of  -delete
          automatically turns on the -depth option.

POSIXかどうかは分かりません-deleteが、findの実装に がない場合は-delete、以下を使用することもできます。

find /path/to/target -mtime +14 -exec rm {} +

関連情報