Guia Completo de Cron no Linux

Tudo que você precisa saber sobre o daemon cron, crontab, cron.d e tarefas agendadas no Linux.

O que é o Cron?

O cron é um daemon (serviço) do sistema operacional Linux que executa tarefas agendadas automaticamente. O nome vem da palavra grega chronos (tempo).

O cron lê arquivos chamados crontabs (tabelas de cron) que contêm a lista de comandos a executar e quando executá-los.

Arquivos e diretórios importantes

/etc/crontabCrontab do sistema. Tem campo extra para especificar o usuário.
/etc/cron.d/Diretório com arquivos de cron individuais por aplicação/pacote.
/etc/cron.daily/Scripts executados diariamente pelo sistema.
/etc/cron.weekly/Scripts executados semanalmente pelo sistema.
/etc/cron.monthly/Scripts executados mensalmente pelo sistema.
/var/spool/cron/Crontabs dos usuários (um arquivo por usuário).
/var/log/syslogLog de execuções do cron (Ubuntu/Debian).

Variáveis de ambiente no crontab

# Variáveis de ambiente no topo do crontab:

SHELL=/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

[email protected]

HOME=/home/user

# Jobs:

0 2 * * * /scripts/backup.sh

Cron vs Systemd Timers

Cron

✓ Simples e universal

✓ Suportado em todo Linux

✓ Fácil de usar

✓ crontab -e funciona em qualquer distro

✗ Sem dependências entre jobs

✗ Sem retry automático

✗ Logs básicos

Systemd Timers

✓ Logging avançado com journald

✓ Retry automático

✓ Dependências entre serviços

✓ Mais granular

✗ Mais complexo de configurar

✗ Requer systemd

✗ Sintaxe diferente

⚡ Gerar CRONTutorial completoSintaxe CRON