O construtor de cron monta expressões crontab de cinco campos — minuto, hora, dia do mês, mês, dia da semana — a sintaxe que todo daemon cron no Linux e Unix lê. Preencha os cinco campos com a notação que o cron realmente aceita: um curinga, um valor único, um intervalo como 9-17, um passo como */15 ou 0-30/5, ou uma lista separada por vírgulas, além dos nomes de meses e dias da semana que o próprio cron reconhece (jan-dez, dom-sáb, e até intervalos como seg-sex e jan-mar). Cada campo é validado contra seus limites reais — minutos 0–59, horas 0–23, dias 1–31, meses 1–12, dias da semana 0–7 com o 7 significando domingo exatamente como a página de manual diz — e a entrada inválida é rejeitada com uma mensagem que diz o que está errado, nunca "corrigida" silenciosamente. A partir da especificação analisada, a ferramenta deriva três coisas importantes: a expressão canônica para colar no crontab, uma descrição em linguagem clara de quando o trabalho roda, e o próximo horário real de execução, calculado minuto a minuto contra as regras reais de correspondência do daemon. Esse último passo é onde a maioria dos construtores mente, e este é cuidadoso de três maneiras. A próxima execução é calculada no fuso horário local do seu navegador, e a página diz isso, porque um daemon cron num servidor roda no fuso horário do servidor. A regra OR clássica é respeitada: quando tanto o dia do mês quanto o dia da semana estão restritos, o cron dispara quando QUALQUER um corresponde — surpreendente, documentada e exibida na descrição. E datas impossíveis são informadas com honestidade: um trabalho para 31 de fevereiro não encontra próxima execução dentro do horizonte de 366 dias e diz isso em vez de entrar em loop infinito. Tudo é calculado localmente — nada do que você digita é enviado ou armazenado. Use ao agendar um backup, um build, um relatório ou um trabalho de banco de dados e quiser a expressão certa antes de ela ir para produção.
Perguntas frequentes
O que a regra OR significa para dia-do-mês e dia-da-semana?
Quando ambos os campos estão restritos — digamos dia-do-mês 1 e dia-da-semana 5 — o cron roda quando QUALQUER um corresponde, então o trabalho dispara no dia 1 do mês E em toda sexta-feira. Isso surpreende quase todo mundo, e é exatamente como o Vixie cron e seus descendentes se comportam. A ferramenta respeita isso no cálculo da próxima execução e o declara na descrição.
Qual fuso horário o cálculo da próxima execução usa?
O fuso horário local do seu navegador. Um daemon cron roda no fuso horário do servidor, que pode ser UTC ou qualquer outro — a página diz o fuso horário explicitamente, e você deve compará-lo com o servidor que executará o trabalho antes de confiar no horário impresso.
Por que 7 é aceito para domingo, e 0 também é domingo?
crontab(5) define dia-da-semana como 0–7, onde tanto 0 quanto 7 significam domingo; 7 é uma forma legada que alguns sistemas aceitam. A ferramenta aceita ambos e os normaliza para o mesmo valor na correspondência.
Onde está o campo de segundos?
O formato padrão de cinco campos não tem campo de segundos — a menor unidade é o minuto. Algumas ferramentas (como Quartz e certas bibliotecas Node) estendem o cron com segundos, mas essas extensões não são portáveis entre daemons, então este construtor fica no formato portável de cinco campos.
O que acontece com datas impossíveis como 31 de fevereiro?
O cron simplesmente nunca as dispara. A ferramenta calcula a próxima execução num horizonte de 366 dias e, quando nenhuma existe — como com 31 de fevereiro — informa isso com honestidade em vez de mostrar uma data que nunca chegará.