Cheatsheet Cron Jobs

Agendador de tarefas Unix/Linux

Cron Jobs
6 cards encontrados
Categorias:
Versões:

Sem Categoria


6 cards
Estrutura base de um Cron Job
# ┌──────── minute (0-59)
# │ ┌────── hour   (0-23)
# │ │ ┌──── day    (1-31)
# │ │ │ ┌── month  (1-12)
# │ │ │ │ ┌─ weekday(0-7)
# │ │ │ │ │
# * * * * *  comando-a-executar

Cada asterisco (*) representa um campo da configuração do cron.
 O cron lê da esquerda para a direita, e cada campo define quando o comando será executado.

Explicação campo a campo:

  1. minute (0-59) → o minuto exato da hora (por exemplo, 0 é à hora certa, 30 é meia hora).
  2. hour (0-23) → a hora do dia em formato 24h (3 = 03:00, 15 = 15:00).
  3. day (1-31) → o dia do mês.
  4. month (1-12) → o mês do ano.
  5. weekday (0-7) → o dia da semana (0 ou 7 = domingo, 1 = segunda-feira, etc.).

Depois dos cinco campos, vem o comando a executar — pode ser um script, um binário, ou qualquer linha válida de terminal.

Campos detalhados

Minute (0-59) → minuto da hora
Ex.: 0 = início da hora, 30 = meia hora

Hour (0-23) → hora do dia (formato 24h)
Ex.: 3 = 03:00, 15 = 15:00

Day (1-31) → dia do mês
Ex.: 1 = dia 1, 15 = dia 15

Month (1-12) → mês do ano
Ex.: 1 = Janeiro, 12 = Dezembro

Weekday (0-7) → dia da semana (0 ou 7 = Domingo)
Ex.: 1 = segunda, 5 = sexta

Gestão de Entradas do Crontab

crontab -e - Edit the crontab file.
crontab -l - List existing crontab entries.
crontab -r - Remove all crontab entries.
crontab -v - Display last time file contrab. (Warning: This option is only available on a few systems.)


Operadores

* → qualquer valor (todos)
 Ex.: * * * * * → executa cada minuto

, → lista de valores
 Ex.: 0 9,12,15 * * * → executa às 09:00, 12:00 e 15:00

- → intervalo de valores
 Ex.: 0 9-17 * * * → executa todos os minutos 0 das 09:00 às 17:00

/ → passo (every)
 Ex.: */15 * * * * → a cada 15 minutos

Atalhos comuns

@reboot → executa ao iniciar o sistema
@yearly ou @annually → 0 0 1 1 *
@monthly → 0 0 1 * *
@weekly → 0 0 * * 0
@daily → 0 0 * * *
@hourly → 0 * * * *


Exemplos
30 3 * * * /caminho/do/script.sh

 Executar script às 3:30 da manhã todos os dias

0 23 * * 1-5 /caminho/do/backup.sh

 Executar backup às 23:00 de segunda a sexta

*/15 * * * * /caminho/do/script.sh

 Executar script a cada 15 minutos

@reboot /caminho/do/script.sh

 Executar script no reboot do servidor

0 6,18 * * * /caminho/do/script.sh

 Executar script às 6:00 e 18:00 todos os dias