# cron e crontab

> Como o cron executa tarefas agendadas, os cinco campos de tempo do crontab, onde ficam os arquivos de sistema do cron e como os timers do systemd se comparam.

cron é o daemon clássico do Unix que executa comandos em um agendamento. Cada usuário possui um crontab, editado com crontab -e, no qual cada linha possui cinco campos de tempo (minuto, hora, dia do mês, mês, dia da semana) seguidos pelo comando. As tarefas do sistema ficam em /etc/crontab e /etc/cron.d/.

## Os campos de tempo

'30 2 * * *' significa 02:30 todos os dias; '*/10 * * * *' a cada dez minutos; '0 9 * * 1' 09:00 toda segunda-feira. O dia da semana 0 e 7 são domingo.

## Arquivos de sistema

Arquivos em /etc/cron.d/ e /etc/crontab possuem um campo extra, o nome do usuário, entre o tempo e o comando. Diretórios como /etc/cron.daily contêm scripts executados uma vez por dia.

## Armadilhas comuns

O cron é executado com um ambiente mínimo: use caminhos completos ou defina o PATH no crontab. A saída é enviada por e-mail ao proprietário ou perdida; redirecione-a para um arquivo de log. O caractere % tem um significado especial nas linhas do crontab e deve ser escapado como \%.

## timers do systemd

Em distribuições com systemd, as unidades .timer são uma alternativa com registro no journal, atrasos aleatórios e recuperação de execuções perdidas (Persistent=true).

## Como adicionar uma tarefa diária

1. Abra seu crontab: crontab -e
2. Adicione uma linha, por exemplo: 30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
3. Salve e saia; o cron detecta a alteração automaticamente.
4. Liste as tarefas: crontab -l

## Cuidados

- 'crontab -r' exclui todo o crontab sem pedir confirmação.
- Teste o comando manualmente com o mesmo usuário antes de agendá-lo.

## Fontes

- [crontab(5)](https://man7.org/linux/man-pages/man5/crontab.5.html)
- [crontab(5) (Debian)](https://manpages.debian.org/bookworm/cron/crontab.5.en.html)
- [systemd.timer(5)](https://man7.org/linux/man-pages/man5/systemd.timer.5.html)

Última atualização: 2026-10-08
URL: https://raincleaner.eu/pt/wiki/linux/cron
