Cron Diretório Job Clean

0

Como é possível excluir arquivos com mais de 14 dias em uma pasta usando um cron job? Tudo o que tentei até agora não funcionou.

    
por Iestyn 03.10.2013 / 03:36

1 resposta

1

Você deve conseguir fazer isso com bastante facilidade com find . Apenas execute este comando no seu crontab (isto irá deletar arquivos e subdiretórios):

find /path/to/target -mtime +14 -delete

De man find

   -mtime n
          File's data was last modified n*24 hours ago.  

   Numeric arguments can be specified as

   +n     for greater than n,

   -n     for less than n,

   n      for exactly n.


   -delete
          Delete files; true if removal succeeded.  If the removal failed,
          an  error message is issued.  If -delete fails, find's exit sta‐
          tus will be nonzero (when it eventually exits).  Use of  -delete
          automatically turns on the -depth option.

Não tenho certeza se -delete é POSIX, mas se sua implementação de encontrar não tiver -delete , você também pode usar

find /path/to/target -mtime +14 -exec rm {} +
    
por 03.10.2013 / 03:51

Tags