Gerador de expressão cron
Monte um agendamento do crontab com escolhas simples e depois confira o que ele diz e quando vai rodar de novo.
Funciona inteiramente no seu navegador
Expressão cron
* * * * *
Próximas execuções
Já tem uma expressão e só quer entendê-la? Use Explicar expressão cron.
Cron padrão de cinco campos, como no Vixie cron e no cronie: minuto, hora, dia do mês, mês e dia da semana. Quartz e outros formatos com campo de segundos não são gerados, e expressões coladas que os controles não conseguem representar são mantidas como foram digitadas.
Como montar uma expressão cron
- Comece por um modelo ou defina cada campo para rodar sempre, a cada N unidades a partir de um início, em valores específicos ou entre dois valores.
- Confira a expressão, a descrição em linguagem simples e as próximas execuções no fuso horário que o seu servidor usa.
- Copie a expressão para o seu crontab, agendamento de CI ou agendador. Você também pode colar uma expressão existente para carregá-la nos controles.
Como montar um agendamento cron
Antes de usar um gerador de expressão cron, vale conhecer o formato. Uma expressão cron tem cinco campos separados por espaços: minuto, hora, dia do mês, mês e dia da semana. Cada campo responde a uma pergunta sobre quando o job deve rodar, e o job roda quando todos correspondem. Deixar um campo como * significa todos os valores, e é por isso que 0 * * * * roda no início de cada hora e 0 0 * * * roda uma vez por dia, à meia-noite.
O gerador oferece quatro formas de dizer o que você quer em cada campo. Um passo como */15 significa a cada 15 valores, uma lista como 1,15 escolhe valores exatos, um intervalo como 9-17 cobre tudo entre dois valores, e * significa todos os valores. Quando você marca valores, sequências de três ou mais seguidos são escritas como intervalo, então de segunda a sexta fica 1-5 em vez de 1,2,3,4,5.
Duas armadilhas pegam a maioria das pessoas. O cron usa o relógio da máquina em que roda, então um job marcado para 09:00 roda às 09:00 no horário do servidor, que pode não ser o seu; a lista de próximas execuções permite conferir em vários fusos. E quando os campos de dia do mês e de dia da semana estão ambos restritos, o job roda quando qualquer um dos dois corresponde, o que pode significar muito mais execuções do que você esperava.
Dicas
- Para ler uma expressão que outra pessoa escreveu, cole-a em Explicar expressão cron.
- Converta um horário de execução de um log de e para timestamp Unix com o Conversor de timestamp Unix.
- Scripts agendados precisam da permissão de execução; descubra o modo certo na Calculadora chmod.
Perguntas frequentes
Como rodo um job a cada 15 minutos?
Defina Minuto como A cada 15 minutos a partir de 0, o que escreve */15 * * * *. O job roda nos minutos 0, 15, 30 e 45 de cada hora.
Como se escreve um início diferente de 0?
Um início como o minuto 5 com passo de 10 é escrito 5-59/10, que roda em 5, 15, 25, 35, 45 e 55. A forma curta 5/10 funciona em algumas versões do cron, mas é rejeitada por outras, então a forma longa é a escolha portável.
Por que alguns dias aparecem como intervalo e outros como lista?
Três ou mais valores consecutivos são escritos como intervalo, então de segunda a sexta fica 1-5, enquanto segunda, quarta e sexta ficam 1,3,5. Os dois representam exatamente os valores que você marcou.
O que acontece se eu definir o dia do mês e o dia da semana?
O cron padrão roda o job quando qualquer um dos dois corresponde, não os dois ao mesmo tempo. 0 9 1 * 1 roda no dia 1º do mês e em toda segunda-feira. A ferramenta mostra um aviso quando as suas escolhas caem nesse caso.
Qual fuso horário as próximas execuções usam?
O que você escolher abaixo da expressão. O próprio cron usa o fuso horário da máquina ou do contêiner em que roda, a menos que o crontab defina CRON_TZ. Muitos servidores usam UTC, então confira antes de confiar em um horário.
Aceita segundos, @daily ou a sintaxe do Quartz?
Ele monta apenas expressões de cinco campos. Colar @daily ou outro atalho funciona, e ele é convertido nos seus cinco campos. Expressões de seis campos e no estilo Quartz são rejeitadas, porque o primeiro campo delas é de segundos. A ferramenta Explicar expressão cron explica isso em detalhes.