На Centos появилось довольно странное сообщение об ошибке.
Я пробовал запустить эту команду:
find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;
И ошибка у меня:
find: invalid argument `-exec' to `-mtime'
Может ли "найти" быть другим в других дистрибутивах?
-mtime
используется в течение нескольких дней, если вам нужно 2 часа, проверьте это:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;
mmin указывает минуты, поэтому -mmin +120 отфильтрует те, которые были более 120 минут назад (2 часа). Из руководства:
-mtime n
Последний раз данные файла были изменены n * 24 часа назад. См. Комментарии к -atime, чтобы понять, как округление влияет на интерпретацию времени модификации файла.
-ммин п
Последний раз данные файла были изменены n минут назад.
в find
реализация в MacOS немного отличается от реализации в Linux. Я считаю, что вы получили указанную выше ошибку в системе Linux.
В Linux mtime
принимает только + - и число. Число - это количество дней.
Для того, что вы хотите сделать выше, вы должны использовать mmin
-mmin n
File’s data was last modified n minutes ago.
Эта команда должна работать в Linux:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;