Я хотел бы удалить файлы старше 59 минут. У меня это до сих пор:
find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*" -exec rm -f {} \;
Это не работает и, кажется, удаляет все файлы. Я тестировал это несколько раз, и я думаю, что проблема связана с daystart
.
Я прочитал справочную страницу, и, похоже, это основное время в начале дня, а не 24 часа назад. Если это так, то как я могу точно удалить файлы, которые старше 59 минут? Нужно ли мне учитывать daystart
и добавить еще несколько минут?
Пример:
[email protected]:/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
Обе следующие команды возвращают файл:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*"
/tmp/a.txt
А также:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +359 -type f -name "*.*"
/tmp/a.txt
Однако файл не старше 659 минут (10,9 часа)! Но в 759 (12.65 часов) он больше не возвращает файл?