Encontre diferença com mtime - e +

6

Qual é a diferença com as opções mtime - e + , já que ambas não estão trazendo de volta os resultados que eu preciso?

Estou tentando excluir todos os arquivos com mais de cinco dias:

 find /mnt/sdb1/tmp/ -type f -mtime +5 -exec ls {} \;
 find /mnt/sdb1/tmp/ -type f -mtime -5 -exec ls {} \;

Eu alterei a saída para ls para comparar os resultados.

    
por Grimlockz 12.12.2012 / 11:45

2 respostas

10

Da página de manual de find :

    Numeric arguments can be specified as

   +n     for greater than n,
   -n     for less than n,
    n     for exactly n.

  -mtime n
          File's data was last modified n*24 hours ago.  See the comments for 
          -atime to understand how rounding  affects  the  interpretation  of
          file  modification times.

   -atime n
          File was last accessed n*24 hours  ago.   When  find  figures  out  
          how  many 24-hour  periods  ago  the  file  was  last  accessed, any 
          fractional part is ignored, so to match -atime +1, a file has to have 
          been accessed at least two days ago.

Então, -mtime +5 encontrará esses arquivos modificados pela última vez mais de 5 * 24 horas atrás e -mtime -5 encontrará esses arquivos modificados pela última vez menos de 5 * 24 horas atrás . Para excluir arquivos com mais de 5 dias 1 , você faria:

find /mnt/sdb1/tmp/ -type f -mtime +5 -exec rm {} \;

Se isso não estiver retornando o resultado desejado, pode haver um problema com o registro de data e hora. É relatado corretamente para os arquivos em questão? Se esta for uma unidade USB externa, os arquivos podem ter sido criados em outra máquina e ter um timstamp diferente do que você espera.

1 Observe que a unidade aqui é um dia, 24 horas. Portanto, mais de 5 dias de vida significa pelo menos 6 dias de vida, pois o valor é sempre arredondado e as partes fracionárias são ignoradas.

    
por 12.12.2012 / 14:17
1

-mtime +5 deve mostrar todos os arquivos modificados cinco dias antes (6, 7, ...), enquanto -5 deve mostrar os modificados hoje até cinco dias atrás.

    
por 12.12.2012 / 11:58

Tags