X日後にファイルを削除すると機能しません。

X日後にファイルを削除すると機能しません。

私はこれをスクリプト化するいくつかの方法を試してみましたが、crontabが失敗しないようにスクリプトを直接実行しました。以下は私が試したことの例です。

find /home/backups -mtime +1 -exec rm {} \;
find /home/backups/* -mtime +1 -exec rm {} \;
find /home/backups/ -mtime +1 -exec rm {} \;

毎日このファイルを削除する必要がありますが、うまくいかないようです。実行すると、ls -ld /home/backups長いファイルのリストが返されます。これは最初の2つのファイルです。

-rw-r--r-- 1ルートルート8284346 1月12日13:00 arksave-2016-01-12--01-00-01.tar.gz
-rw-r--r-- 1ルートルート8295428 1月12 13:15 arksave-2016-01-12--01-15-01.tar.gz

一日が過ぎ、これが最後の2つのファイルです。

-rw-r--r-- ルート 1 個 38016124 1月13日 12:30 arksave-2016-01-13--12-30-01.tar.gz
-rw-r--r-- ルート 1個38016163 1月13日12時45分 arksave-2016-01-13--12-45-01.tar.gz

ベストアンサー1

見積もり「TNW」

findが24時間前に最後にファイルにアクセスした期間を計算すると、すべての小数部分は無視されます。したがって、-atime +1 を一致させるには、ファイルに少なくとも 2 日前にアクセスする必要があります。

したがって、1日前のファイルを見つけるには、次のスニペットのいずれかを使用できます。

find /home/backups/* -mtime +0

または

find . -mmin +$((60*24))

おすすめ記事