Ferramentas de desenvolvedor · Gerador Crontab
Como funcionam os cinco campos do crontab: minuto, hora, dia, mês, dia da semana
· Como funciona
cron agendamento fluxo de trabalho do desenvolvedor
Cada programação cron contém cinco campos posicionais e a ordem nunca muda. Este post explica o intervalo de cada campo, o caso especial do domingo e como uma linha se torna um conjunto de minutos correspondentes.
Um backup que deve ser executado às 02:30 todas as noites — e cinco estrelas que você não tem certeza de como preencher
Você precisa de um backup às 02:30 todas as noites, mas continue confundindo qual das cinco estrelas possui a hora. Cron é posicional: um número na coluna errada produz um cronograma diferente enquanto parece superficialmente válido. Comece com o horário em que o job deve ser executado, o fuso horário da máquina e quem é o dono do crontab; só então preencha os campos. ToolAcre pode analisar e descrever uma expressão, mas não instala a tarefa nem executa o comando de backup.
Campos posicionais, ordem fixa — minuto, hora, dia do mês, mês, dia da semana e depois o comando
Uma linha crontab do usuário possui minuto, hora, dia do mês, mês, dia da semana e, em seguida, um comando. Em 30 2 * * * backup.sh, 30 é o minuto e 2 é a hora: 02:30 todos os dias no fuso horário desse ambiente cron. O comando não é um sexto campo de tempo. /etc/crontab de todo o sistema pode incluir um campo de usuário antes do comando, e é por isso que copiar cegamente uma entrada do sistema em seu crontab pessoal pode executar um comando não intencional.
Intervalos de cada campo — 0–59, 0–23, 1–31, 1–12 e 0–7, com 0 e 7 ambos significam domingo na maioria dos crons
Minutos aceitam 0–59, horas 0–23, dia do mês 1–31, mês 1–12 e dia da semana 0–7 no Convenções estilo Vixie Modelos ToolAcre; 0 e 7 significam domingo. Um asterisco significa todos os valores nesse campo. Intervalos e listas separadas por vírgula podem restringir valores, mas o intervalo numérico de um campo ainda se aplica. 25 na posição de hora não é uma programação noturna: é inválida e deve ser relatada em vez de transferida para o dia seguinte.
Como funciona a correspondência — o cron é ativado a cada minuto e executa uma linha se os campos de hora corresponderem (com uma exceção para os campos de dois dias)
O Cron verifica os campos correspondentes a cada minuto. Minuto, hora e mês precisam corresponder. Os campos de dois dias têm uma regra especial no cron do Vixie: quando o dia do mês e o dia da semana são restritos, uma correspondência em qualquer um deles pode acionar o trabalho, não necessariamente em ambos. Assim, 0 0 13 * 5 significa o décimo terceiro dia de um mês ou toda sexta-feira, não apenas sexta-feira, dia treze. Com curingas nas posições diurnas, o exemplo noturno se comporta conforme o esperado. A saída explicativa da ferramenta torna essa escolha visível antes da instalação.
Exemplo resolvido: 30 2 * * * backup.sh - lendo em voz alta e escrevendo 'dias da semana às 08:15' do zero
Leia 30 2 * * * backup.sh em voz alta como “execute backup.sh às 02:30 todos os dias”. Para dias de semana em 08:15, coloque minuto 15, hora 8, dia irrestrito/month e dias de semana 1–5: 15 8 * * 1-5. Cole apenas os cinco campos do cronograma no gerador Crontab e verifique sua descrição e lista de próximas execuções; instale o comando usando seu próprio editor crontab posteriormente. Para um backup executado próximo a uma mudança de horário de verão, verifique os carimbos de data/hora da próxima execução na zona real, em vez de assumir que todos os 02:30 locais existem.
Nomes de meses e dias da semana, incluindo intervalos de nomes compatíveis
Muitos dialetos cron aceitam nomes de três letras, como JAN ou MON em vez de números. Os nomes podem tornar mais claro um cronograma mantido por humanos, mas usar 0/7 para domingo permanece comum e outras implementações de cron podem ter extensões diferentes. ToolAcre reconhece nomes e intervalos comuns de meses e dias da semana, como JAN-MAR e MON-FRI; seu analisador aceita 15 8 * JAN-MAR MON-FRI. Outra implementação cron ou agendador de nuvem pode usar um número diferente de campos ou extensão, portanto consulte a gramática do próprio ambiente antes de instalar a linha.
O que esta visão geral não cobre totalmente: listas, etapas e ambiente de execução
Esta introdução explica a regra OR do campo diário do Vixie, mas não explora suas combinações complicadas com listas e etapas, o shell/environment que executa o comando ou o comportamento de horário de verão; cada um pode alterar a execução de uma tarefa real. O validador pode descrever um agendamento, mas não pode garantir que backup.sh exista, tenha permissão ou tenha escrito backups recuperáveis. Teste um backup e uma restauração antes de confiar em uma entrada cron de produção.
Conclusão: cinco campos, uma gramática – e o gerador Crontab constrói a expressão e a explica para você
Cinco posições formam uma gramática. O gerador Crontab lê sua programação proposta, nomeia cada campo e mostra as próximas execuções em uma zona escolhida sem instalar nada em seu sistema. Insira os exemplos noturnos e diários, compare o que a ferramenta diz com o que você pretendia e, em seguida, mantenha o comando e a decisão de fuso horário com a documentação operacional do trabalho.