Ferramentas de desenvolvedor · Gerador Crontab
Exemplos de expressões Cron: de hora em hora, todas as noites, dias da semana, primeiro do mês
· Como funciona
cron exemplos agendamento
Dez programações cobrem a maioria dos crontabs reais. Este post dá a expressão de cada um, explica os campos e aponta aquele que quase sempre as pessoas erram.
Você precisa de 'primeiro dia do mês às 06:00' e os resultados da pesquisa discordam - um conjunto de expressões verificadas com raciocínio
Uma resposta copiada para “primeiro dia do mês às 06:00” só é útil se todas as posições puderem ser justificadas. Na ordem de cinco campos, `0 6 1 * *` significa minuto zero, hora seis, dia do mês um, todos os meses e todos os dias da semana. A leitura dos campos evita que um exemplo atraente se torne uma dependência de produção inexplicável.
Os exemplos aqui permanecem dentro da gramática exercida pelo analisador e testes de ToolAcre. Eles são fragmentos de cronograma e não definições completas de tarefas. O navegador pode descrevê-los e mostrar futuros candidatos a relógios de parede em uma zona selecionada, mas não conhece o comando, as permissões ou o host que pode eventualmente usá-los.
A cada minuto, a cada 5 minutos, a cada hora — * * * * *, */5 * * * * e 0 * * * *, e por que o 0 principal é importante
`* * * * *` seleciona o valor de cada minuto de cada hora e data. `*/5 * * * *` restringe os minutos para 0, 5, 10 e assim por diante até 55. `0 * * * *` seleciona apenas o minuto zero, produzindo um candidato no início de cada hora. O zero inicial é, portanto, a diferença entre as posições de sessenta minutos e um.
Todos os três formulários aparecem em predefinições ou em sintaxe testada. Uma etapa se expande a partir do limite inferior do campo de minuto, enquanto um curinga expande todos os valores permitidos de 0 a 59. Use a visualização para inspecionar as execuções estritamente a partir de agora; não infira que a ferramenta iniciou um processo recorrente simplesmente porque pode enumerar tempos.
Diariamente de cada vez e duas vezes ao dia — 30 2 * * * e 0 6,18 * * *
Diariamente em 02:30 é `30 2 * * *`: minuto 30 e hora 2 com campos de calendário irrestritos. Duas vezes ao dia em 06:00 e 18:00 é `0 6,18 * * *`; a vírgula combina dois valores de hora enquanto o minuto permanece fixo. Ambos são mais fáceis de revisar quando a lista de horas é explícita, em vez de duplicada em duas linhas.
Um fuso horário selecionado altera os instantes mostrados para os mesmos campos do relógio de parede. ToolAcre calcula cada candidato como horário local naquela zona e omite um horário local que não existe durante uma mudança futura do relógio. Esse comportamento de visualização pertence a esta ferramenta; o artigo não generaliza isso em uma promessa sobre todos os daemons.
Dias de semana e fins de semana — 0 8 * * 1-5 e 0 10 * * 0,6, com a ressalva da numeração de domingo
Os dias de semana em 08:00 são `0 8 * * 1-5` e as manhãs de fim de semana em 10:00 são `0 10 * * 0,6`. Este analisador aceita domingo como 0 ou 7 e normaliza ambos para o mesmo valor. Os nomes também são suportados, portanto, `MON-FRI` pode substituir `1-5` sem alterar os dias da semana expandidos.
Evite definir o dia do mês ao mesmo tempo, a menos que uma união OR seja desejada. `0 8 1 * 1-5` não significa dias da semana apenas no primeiro. Inclui o primeiro dia de cada mês mais todos os dias da semana. O gerador avisa sempre que ambos os campos do dia são restritos e coloca “ou” na frase resultante.
Mensalmente, trimestralmente e anualmente — 0 6 1 * *, 0 6 1 1,4,7,10 * e 0 0 1 1 *
Mensalmente em 06:00 no primeiro é `0 6 1 * *`. Trimestralmente no primeiro dia de janeiro, abril, julho e outubro é `0 6 1 1,4,7,10 *`. Uma execução anual à meia-noite de janeiro 1 é `0 0 1 1 *`, que também é a expansão usada pelos aliases `@yearly` e `@annually` suportados.
Esses exemplos usam um dia que existe em cada mês selecionado. ToolAcre aceita combinações impossíveis como sintaticamente legais, mas avisa quando, por exemplo, o dia 30 está emparelhado apenas com fevereiro. Fevereiro 29 recebe um aviso de ano bissexto. A validade do calendário é, portanto, apresentada separadamente da gramática do campo, em vez de ocultada atrás de uma mensagem genérica inválida.
A programação do último dia não pode ser expressa com os operadores de cinco campos suportados
A gramática suportada não possui operador de último dia. `L` é rejeitado em vez de traduzido, e o dia 31 não cobre meses com trinta dias ou fevereiro. A pasta de trabalho propôs um teste de data do lado do comando, mas este repositório não executa ou verifica comandos, portanto, o artigo não apresenta essa solução alternativa como um recurso gerador compatível.
Trate “último dia de cada mês” como um requisito que excede esta linguagem de expressão. Selecione um planejador ou estratégia de comando documentado pelo destino real e teste-o lá. ToolAcre permanece útil para os cinco campos comuns em torno dessa decisão, mas o sucesso da validação não pode fabricar um operador que seu analisador não implemente.
Campos de segundos e operadores estrangeiros são rejeitados por este analisador
Expressões clássicas nesta rota não possuem posição de segundos ou ano. Seis campos são recusados com orientação sobre um estilo de escalonador orientado a segundos. O analisador também rejeita `?`, `#`, `L` e `W` porque seu leitor de valor aceita apenas números, nomes de três letras suportados, intervalos, vírgulas, barras e curingas.
Portanto, um requisito de subminuto não pode ser representado aqui. Nem uma expressão de outro escalonador pode ser declarada equivalente apenas porque parece semelhante. Contar posições, verificar o suporte do operador e reconstruir o conjunto pretendido com a gramática alvo. A semântica omitida deve permanecer uma lacuna explícita e não uma aproximação acidental.
Conclusão: construa a partir desses dez - e use o gerador Crontab para adaptar um e ler o resultado
Os cronogramas comuns tornam-se mais seguros quando cada token tem um motivo: zero fixa um limite, uma vírgula nomeia alternativas, um intervalo inclui ambas as extremidades e uma estrela abre o campo. As predefinições fornecem vários pontos de partida, incluindo formulários a cada minuto, quarto de hora, hora, dia, dia da semana, domingo, mensal e anual.
Adapte a predefinição mais próxima, leia a frase gerada e escaneie as próximas cinco vezes na zona pretendida da máquina. Essa sequência verifica a intenção da expressão enquanto mantém a implantação fora do navegador. Um bom exemplo não está apenas pronto para cópia; é pequeno o suficiente para que outro revisor possa reconstruir por que cada campo está ali.