На Centos появилось довольно странное сообщение об ошибке.
Я попробовал выполнить эту команду:
find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;
И вот какая ошибка у меня возникла:
find: invalid argument `-exec' to `-mtime'
Может ли «находка» отличаться в других дистрибутивах?
решение1
-mtime
используется в течение нескольких дней, если вам нужно 2 часа, проверьте это:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;
mmin указывает минуты, поэтому -mmin +120 отфильтрует те, что были более 120 минут назад (2 часа). Из руководства:
-mtime n
Данные файла были последний раз изменены n*24 часа назад. См. комментарии для -atime, чтобы понять, как округление влияет на интерпретацию времени изменения файла.
-ммм н
Данные файла были последний раз изменены n минут назад.
решение2
реализация 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 \;