A expressão cron * * * * * executa um trabalho a cada minuto, 1440 vezes por dia. Quando fazer sentido, como evitar sobreposições e alternativas práticas.
⏰Every minute
*Qualquer valor,Separador de lista-Intervalo/Passo1-5Intervalo de 1 a 5*/15A cada 15 unidadesA expressão cron * * * * * dispara a cada marco de minuto: 00:00, 00:01, 00:02, e assim por diante, totalizando 60 vezes por hora, 1440 vezes por dia. Um * simples em qualquer campo cron significa “cada valor válido neste campo.” Com todos os cinco campos definidos como *, não há filtro: o trabalho executa em todos os limites de agendamento possívelis.
Esta é a frequência máxima que o cron suporta. O campo de minuto é a granularidade mais fina que o cron tem, então * * * * * é o máximo que o cron consegue.
Alguns sistemas usam cron para iniciar um worker que drena uma fila de trabalhos. Se os trabalhos chegam continuamente é a latência importa, um gatilho por minuto garante que a fila não fique ociosa por muito tempo.
Se você não pode instalar um agente de monitoramento persistente, um cron por minuto que verifica um endpoint de saúde ou registra uma métrica é um fallback pragmático.
Escrever um timestamp em um arquivo ou banco de dados a cada minuto é uma verificação de atividade comum.
Se seu trabalho conecta a um banco de dados, carrega configuração de uma fonte remota ou autentica contra uma API externa, ele paga esse custo 1440 vezes ao dia. Um daemon de longa duração paga uma vez.
O cron padrão não sabe se a execução anterior ainda está rodando. Se o trabalho leva 90 segundos, você terá duas instâncias executando simultaneamente no minuto 2.
Para qualquer trabalho cron por minuto, teste o que acontece quando o tempo de execução excede 60 segundos. A solução padrão é flock:
* * * * * flock -n /tmp/myjob.lock /path/to/myjob.sh
Crie uma unidade .service que faz loop internamente é uma unidade .timer que a inicia na inicialização.
* * * * * /path/to/job
* * * * * sleep 30 && /path/to/job
Agendadores em nível de aplicação executam dentro do seu processador e suportam intervalos arbitrários incluindo subsegundos.
grep CRON /var/log/syslog | grep myjob | tail -5
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.