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
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.