Diretório de limpeza do Cron Job

Diretório de limpeza do Cron Job

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

Responder1

Você deve ser capaz de fazer isso facilmente com find. Basta executar este comando no seu crontab(isso excluirá arquivos e subdiretórios):

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

Deman 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 faltar sua implementação de find -delete, você também pode usar

find /path/to/target -mtime +14 -exec rm {} +

informação relacionada