3か月以上前のファイルを削除するにはどうすればよいですか?
90日間私は知っています:
find /tmp/*.log -mtime +90 -type f -delete
しかし、3か月が常に90日に等しいことをどうやって知ることができますか?正確な日数は? -mtime
にmonths
に従うように指示するより良い方法はありますか?
3か月間の正確な日数が必要な場合は、次を使用できます。
days=$(( ( $(date '+%s') - $(date -d '3 months ago' '+%s') ) / 86400 ))
そしてそれを次のように使用します:
find /tmp/*.log -mtime +$days -type f -delete
または直接find
:
find /tmp/*.log -type f \
-mtime "+$(( ( $(date '+%s') - $(date -d '3 months ago' '+%s') ) / 86400 ))" -delete