/tmp
内のすべてのファイルとフォルダを削除しようとしています 1日より古いdir。
やらなければならないすべてのファイルとフォルダを削除することを知っています
rm -rf *
しかし、1日より古いすべてのファイルとフォルダを見つけてそれらを削除し、cronを配置する方法がわかりません。
承認された回答:
まず、find
を使用します これらのファイルを選択するには:
find /tmp -mmin +1440
1440分以上前に変更されたファイルを検索します。 (分ではなく日を使用するオプションがありますが、それは切り上げられ、+1は残念ながら2日以上を意味します。以下の通知を参照してください。)
これを試してみてください。これで適切なファイルが見つかった場合は、一度に削除してください。
find /tmp -mmin +1440 -delete
man find
を参照してください その他の可能性(最終ステータス変更時刻、アクセス時刻)
-mtime +1
の使用に関する注意 :
人間の中で見つける
それは言う:
-mtime n
ファイルのデータはn*24時間前に最後に変更されました。
しかし、次のようにも書かれています:
-atime
のコメントを参照してください 丸めが
ファイル変更時間の解釈にどのように影響するかを理解するため。
-atime
へのコメント 言う:ファイルが最後にアクセスされた24時間前の数を見つけると、
小数部分は無視されるため、 -atime +1と一致します。 、
ファイルは少なくとも2日前にアクセスされている必要があります。
つまり、-mtime
-mtime +1
までは、24時間単位または1日単位でのみカウントできます。 つまり、これは正確に1日以上×少なくとも1日(つまり2日以上)を意味します
-mmin
一方、数分で数えることができます。したがって、厳密な精度が重要な場合は、-mmin +1440
(1440分=1日)-mtime +1
の代わりに使用できます