2017-08-23 10 views
0

3か月以上経過したファイルを削除する方法はありますか?私が知っている90日間BASH - 3か月以上経過したファイルを削除しますか?

find /tmp/*.log -mtime +90 -type f -delete 

しかし、どのように私はいつも90日に等しい3ヶ月を知っていますか?正確な日数はいくつですか? monthsに従うように-mtimeに伝えるより良い方法はありますか?

+2

なぜ不正確なtime-unit * month *を使用することは非常に重要ですか? – Leon

+2

93日間とし、ファイルの削除を短期間延期している可能性があることに同意してください。人生はあまりにも厄介なほど短いです:-) – paxdiablo

答えて

2

あなたは3ヶ月間日間の正確な数をしたい場合は、あなたが使用することができます。

days=$((($(date '+%s') - $(date -d '3 months ago' '+%s'))/86400)) 

としてそれを使用する:

find
find /tmp/*.log -mtime +$days -type f -delete 

、または直接:

find /tmp/*.log -type f \ 
-mtime "+$((($(date '+%s') - $(date -d '3 months ago' '+%s'))/86400))" -delete 
関連する問題