localiza arquivos em subdiretórios usando find in centos

1

Meu cronjob atual é

* 10 * * * /bin/find /var/spool/record/ -type f -exec /bin/rm {} +

Exclui todos os arquivos às 10h todos os dias.

Estou tentando excluir um arquivo específico de tamanho inferior ao tipo de 90 KB no diretório atual. para isso

* 10 * * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -size -90K -exec /bin/rm {} +

Minha preocupação é que a sintaxe acima da exclusão também exclua os arquivos GSM do subdiretório, que serão criados em / var / spool / record / everyday e manterão registros para essa data específica. Como / var / spool / record / date1, / var / spool / record / date2.

Eu também quero remover o arquivo GSM com mais de 60 dias em / var / spool / record / e seu subdiretório em 10 de cada mês às 10h

* 10 10 * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -mtime +60 -exec /bin/rm {} +

O que seria a sintaxe correta para o subdiretório del e para o arquivo, que são mais antigos que 60 dias.

    
por saurabh 08.10.2016 / 00:28

1 resposta

3

O cron que você escreveu será executado a cada minuto entre 10:00 e 10:59. Use o seguinte para corrigir isso:

00 10 10 * * /bin/find /var/spool/record/ -type f -name "*.gsm" -mtime +60 -exec /bin/rm {} \;

Isso excluirá os arquivos .gsm de / var / spool / record e seus subdiretórios com mais de 60 dias às 10h e 10 de cada mês.

    
por 08.10.2016 / 07:01