* * * * *Campos
| Minuto | * | qualquer |
|---|---|---|
| Hora | * | qualquer |
| Dia do mês | * | qualquer |
| Mês | * | qualquer |
| Dia da semana | * | qualquer |
Onde usar
| crontab | * * * * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "* * * * *" (on.schedule) |
| Kubernetes CronJob | schedule: "* * * * *" |
O crontab usa o fuso horário do servidor; o GitHub Actions sempre usa UTC.
Bom saber
Rodar a cada minuto é a resolução mais fina que o cron padrão oferece; para algo mais rápido, use um loop dentro do script, uma segunda entrada começando com sleep 30 ou um timer do systemd. A principal armadilha é a sobreposição: se uma execução leva mais de um minuto, as cópias se acumulam. Envolva a tarefa no flock, por exemplo flock -n /tmp/job.lock /path/to/script.sh, para que uma nova execução saia enquanto a anterior ainda está rodando.
O cron roda com um ambiente mínimo: o PATH geralmente é só /usr/bin:/bin, nenhum perfil do shell é carregado e a pasta de trabalho é a sua home, então use caminhos absolutos. A saída é enviada por e-mail ao usuário ou descartada, então redirecione-a com >> /var/log/job.log 2>&1 e faça a rotação desse log. O GitHub Actions não roda com essa frequência: o intervalo mínimo dele é de 5 minutos. Um vizinho mais leve é */2, a cada dois minutos.