Guias de Cron
Guias

Edição do crontab e variáveis de ambiente: PATH·shell·usuário

crontab -e·diferenças de ambiente·crontab do sistema vs. do usuário

Normalmente, as tarefas são editadas com crontab -e. Esse comando abre o crontab exclusivo do usuário atual e, ao salvar, verifica a sintaxe antes de aplicá-lo. Para listar, use crontab -l; para apagar tudo, crontab -r — mas cuidado, pois o -r apaga sem pedir confirmação.

O ambiente em que o cron executa as tarefas é diferente do shell em que você fez login. O cron fornece apenas um ambiente mínimo, e o PATH costuma ser curto, como /usr/bin:/bin. Por isso, um comando que funcionava no shell de login às vezes falha no cron com 'comando não encontrado'. É mais seguro escrever os comandos com caminho absoluto.

Você pode declarar variáveis de ambiente no topo do arquivo crontab. As mais usadas são PATH=/usr/local/bin:/usr/bin:/bin, SHELL=/bin/bash, MAILTO="you@example.com" e CRON_TZ=Asia/Seoul, que fixa o fuso horário. Se o valor contiver espaços, envolva-o em aspas.

O crontab do usuário e o crontab do sistema têm formatos diferentes. O crontab de usuário criado com crontab -e usa os 5 campos padrão (minuto hora dia mês dia da semana). Já as entradas de sistema em /etc/crontab e /etc/cron.d/* têm 6 campos (minuto hora dia mês dia da semana user comando), com um campo de usuário de execução acrescentado após o dia da semana. Como esta ferramenta interpreta os 5 campos padrão, ao verificar um crontab de sistema, remova o campo de usuário e insira apenas os 5 primeiros campos.

Em vez de um horário preciso, se 'diariamente ou de hora em hora' for suficiente, também é possível colocar o script em diretórios drop-in como /etc/cron.daily e /etc/cron.hourly. Eles executam em um período fixo, sem expressão. Reservar o crontab, com uma expressão criada por esta ferramenta, apenas para quando você precisa de um minuto ou horário específico deixa a gestão mais organizada.

Recursos

Coleção de agendamentos

Receitas para copiar e usar na hora

Guia de sintaxe

Os 5 campos e os caracteres especiais de relance

Macros e apelidos

Expressões abreviadas como @daily

Guias

Guias práticos para entender o cron de verdade e reduzir erros