crontab

Rode um script toda noite às 2:00 ou a cada 15 minutos: a linha do crontab explicada, como instalar e conferir se rodou.

>_ Teste aqui: um Linux simulado, nesta página
Carregando o terminal…

Exemplos

  • echo "0 2 * * * /home/deploy/backup.sh" | crontab -
  • crontab -l
  • echo "*/15 * * * * /home/deploy/backup.sh" | crontab -
  • crontab -l
  • grep CRON /var/log/syslog
  • crontab -r

Como funciona

O cron roda comandos num horário marcado. Cada linha do seu crontab tem cinco campos de tempo — minuto, hora, dia do mês, mês, dia da semana — e depois o comando. * quer dizer "todos": 0 2 * * * é 02:00 todo dia.

O crontab -l lista suas tarefas. O crontab FILE (ou crontab - com um pipe) instala uma lista inteira — ela SUBSTITUI a antiga. Cada execução deixa uma linha CRON em /var/log/syslog.

Sintaxe

crontab [-u USUÁRIO] { ARQUIVO | - | -l | -r | -e }

Opções

OpçãoO que faz
m h dom mon dowminuto hora dia-do-mês mês dia-da-semana, depois o comando
*/Na cada N: */15 no campo dos minutos = a cada 15 minutos
FILE or -instala as tarefas de um arquivo, ou de um pipe
-llista suas tarefas
-rremove todas as suas tarefas
-eedita num editor de texto

Bom saber

  • Teste o script na mão primeiro: uma tarefa que falha às 2 da manhã falha em silêncio.
  • Os dias da semana 0 e 7 são domingo; 30 6 * * 1 é 06:30 toda segunda. O relógio dos servidores costuma ser UTC (date).