59 分以上経過したファイルを削除したいと考えています。私はこれまでのところこれを持っています:
find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*" -exec rm -f {} \;
これは機能せず、すべてのファイルを削除するようです。これを数回テストしましたが、問題はdaystart
.
man ページを読んだところ、24 時間前ではなく、1 日の始まりに基づいているようです。この場合、59 分以上経過したファイルを正確に削除するにはどうすればよいですか? 考慮しdaystart
てさらに数分追加する必要がありますか?
例:
ubuntu@ip-10-138-30-118:/tmp$ ls -la
total 8
drwxrwxrwt 2 root root 4096 Jul 20 14:39 ./
drwxr-xr-x 23 root root 4096 Jun 25 18:34 ../
-rw-rw-r-- 1 ubuntu ubuntu 0 Jul 20 12:35 a.txt
次の両方のコマンドは、ファイルを返します。
ubuntu@ip-10-138-30-118:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*"
/tmp/a.txt
と:
ubuntu@ip-10-138-30-118:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +359 -type f -name "*.*"
/tmp/a.txt
ただし、ファイルは 659 分 (10.9 時間) より古いものではありません。しかし、759 (12.65 時間) で、ファイルが返されなくなったのでしょうか?