Uma mensagem de erro bastante estranha apareceu no Centos.
Tentei executar este comando:
find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;
E o erro que recebi:
find: invalid argument `-exec' to `-mtime'
O 'achado' pode ser diferente em outras distribuições?
Responder1
-mtime
é usado por dias, se você precisar de 2 horas, verifique isto:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;
mmin especifica minutos, então -mmin +120 filtrará aqueles há mais de 120 minutos (2 horas). Do manual:
-mtime n
Os dados do arquivo foram modificados pela última vez há n*24 horas. Veja os comentários sobre -atime para entender como o arredondamento afeta a interpretação dos tempos de modificação do arquivo.
-mmin n
Os dados do arquivo foram modificados pela última vez há n minutos.
Responder2
a find
implementação no MacOS é um pouco diferente daquela disponível no Linux. Acredito que você recebeu o erro acima em um sistema Linux.
No Linux, mtime
aceita apenas +- e um número. O número é o número de dias.
Para o que você deseja fazer acima, você deve usarmmin
-mmin n
File’s data was last modified n minutes ago.
Este comando deve funcionar no Linux:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;