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

MAILTO=admin@empresa.com

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