Pular para o conteúdo
Início » Crontab: Como Agendar a Exclusão de Arquivos Desatualizados

Crontab: Como Agendar a Exclusão de Arquivos Desatualizados

Crontab Arquivos Desatualizados - Nerd Expert

O Linux, um sistema operacional de código aberto, disponibiliza várias ferramentas e utilitários para nos auxiliar na gestão e monitoramento de tarefas. Uma dessas ferramentas, o crontab, nos permite agendar a execução de comandos ou scripts em horários definidos. Neste guia, vou mostrar como utilizar o crontab para programar a remoção de arquivos antigos.

Entendendo o Crontab

O crontab (cron table) é simplesmente um arquivo que contém comandos programados para rodar em um determinado momento. A cada minuto, o daemon cron verifica o crontab e, se necessário, realiza as tarefas agendadas.

Dominando o Crontab

Se deseja editar ou criar um novo crontab para o seu perfil, digite:

crontab -e

Para conferir o crontab do seu perfil, digite:

crontab -l

Se quiser deletar o crontab do seu perfil, insira:

crontab -r

A Estrutura do Crontab

O crontab segue um padrão específico. Ele tem cinco campos de tempo, e após eles, o comando que se deseja executar.

* * * * * /path/to/command
- - - - -
| | | | | 
| | | | +---- Dia da semana (0 - 7) [Tanto 0 quanto 7 indicam domingo]
| | | +------ Mês (1 - 12)
| | +-------- Dia do mês (1 - 31)
| +---------- Hora (0 - 23)
+------------ Minuto (0 - 59)

Como Programar a Remoção de Arquivos Antigos

Vamos imaginar que possui uma pasta /tmp/files/ e deseja deletar todos os arquivos lá com mais de 7 dias. O comando find em conjunto com o crontab fará esse trabalho para você.

Primeiro, verifique se o comando find aponta para os arquivos certos:

find /tmp/files/ -type f -mtime +7

Caso o comando acima mostre os arquivos desejados, junte-o ao comando rm para deletar esses arquivos:

find /tmp/files/ -type f -mtime +7 -exec rm {} \;

Agora, para agendar essa operação todos os dias às 2 da manhã, inclua o seguinte no seu crontab:

0 2 * * * find /tmp/files/ -type f -mtime +7 -exec rm {} \;

Conclusão

O crontab é um recurso valioso no Linux que nos permite agendar tarefas automáticas. Quando unimos o crontab a comandos como find e rm, conseguimos automatizar tarefas, como remover arquivos velhos. Se está começando no Linux ou apenas procura uma forma de gerir tarefas periódicas, o crontab é um recurso que precisa conhecer.

Dica, existe uma ferramenta bem prática para gerar crontabs. Recomendo muito o uso do Crontab Generator

Marcações: