1

単純な bash スクリプトがあり、毎晩真夜中に実行するように cron 化されています。これにより、バックアップまたはファイルが作成され、Dropbox に .tar.gz として保存されます。ただし、これが発生する前に、前夜のバックアップを削除するスクリプトが必要です。

これを行うために、現在次のコマンドを実行しています。

find ~/Dropbox/Backups/casper/* -mtime +0.5 -exec rm {} \;

私の考えでは、半日より古いものはすべて削除する必要がありますが、機能していないようです(前の夜のバックアップは保持されますが、これより前のものはすべて削除されます)

誰かが私を正しい方向に向けることができますか? ありがとうございました

4

1 に答える 1

1

のマンページからfind

-mtime n
          File's data was last modified n*24 hours ago.  See the comments for -atime to understand how rounding  affects  the
          interpretation of file modification times.

-atime n
          File  was  last  accessed  n*24  hours  ago.   When find figures out how many 24-hour periods ago the file was last
          accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days
          ago.

このことから、0.5 が削除され、1 日前が必要であることがわかります。-mminおそらく代わりに使用したいでしょう。

例(ババから):

# 720 is 60 times 12
find ~/Dropbox/Backups/casper/* -mmin 720 -print -exec rm {} \;
于 2012-11-12T10:52:45.873 に答える