find
com -mtime +1
retorna arquivos que foram modificados há dois ou mais dias.
É um comportamento documentado, por exemplo, -mtime
ignora qualquer parte fracionária. De man find
(o cálculo do tempo é idêntico em -atime
, -mtime
e -ctime
):
-atime n
O arquivo foi acessado pela última vez n * 24 horas atrás. Quando descobrir, quantos períodos de 24 horas atrás o arquivo foi acessado pela última vez, qualquer A parte fracionária é ignorada, então, para corresponder a -atime +1, um arquivo deve ter sido acessado há pelo menos dois dias.
Agora, se você pode usar algumas soluções:
-
Você pode fazer:
find . -type f -mtime +0
Isso faria com que você modificasse os arquivos um dia ou mais atrás.
No seu caso:
find $HOME -type f -name "myFile_*.sql.zip" -mtime +0
-
Para obter precisão como neste caso, você deve usar a opção
-mmin
, que corresponde estritamente a minutos.Então, digamos que você deseja obter os arquivos que foram modificados mais de 7 horas e 10 minutos, ou seja, 430 minutos atrás, você pode fazer:
find . -type f -mmin +430
No seu caso, faça o cálculo e substitua
430
por esse valor:find $HOME -type f -name "myFile_*.sql.zip" -mtime +430
-
Outra opção é fazer da maneira inversa.
Você pode criar um arquivo de referência, por exemplo,
ref.txt
:touch -d 'today + 2 days ago' ref.txt
Agora você pode encontrar arquivos que foram modificados mais recentemente do que
ref.txt
:find . -type f -newer ref.txt
No seu caso:
find $HOME -type f -name "myFile_*.sql.zip" -newer ref.txt
Quando estiver satisfeito com os resultados, você poderá remover o (s) arquivo (s), por exemplo:
find . -type f -mmin +430 -delete