cronjob para remover diretórios menores que x em tamanho

0

Eu quero executar um cronjob a cada 6 horas, excluindo diretórios menores que 200MB. Eu sei que o comando dh faria o trabalho, mas não sei como usar o comando. Qualquer ajuda é apreciada.

    
por chipChocolate.py 29.06.2014 / 12:54

2 respostas

2

find . -type d -size -200M retornará todos os diretórios menores que 200MB, você também pode fornecer o parâmetro -maxdepth para evitar recursivamente entrar nesses diretórios menores.

Para removê-los automaticamente, canalize para xargs, por exemplo find . -type d -size -200M -maxdepth 1|xargs rm -rf

Certifique-se de testar isso completamente antes de transmitir o comando para rm . Não há "undelete" ou "lixo", você pode puxar coisas de volta de

    
por Jakke 29.06.2014 / 13:22
1

Para completar a resposta do Jakke, abra o crontab:

   crontab -e

e adicione esta linha:

   0 */6 * * * command > /dev/null 2>&1

Isso executará command a cada seis horas a partir de 0, é equivalente a:

   0 0,6,12,18 * * * command > /dev/null 2>&1

Primeiro 0 significa último minuto, você pode mudá-lo se quiser iniciar o comando com um minuto.

O erro padrão e a saída padrão são redirecionados para evitar que o cron envie mensagens.

Aqui está o link do manual do crontab.

    
por Lety 25.08.2014 / 10:01