Eu tenho o mesmo tipo de trabalho para 10 instâncias paralelas do postgres em um único servidor. Eles devem funcionar a cada 6 horas, mas não todos no mesmo horário.
11 */6 * * * my_command
corre em 0:11
, 6:11
, 12:11
,18:11
Para que eu possa separá-los um do outro com os meios de definir o minuto (30 minutos no máximo). Mas eu gostaria de mais, como correr 0,6,12,18
versus correr, ou seja2,8,14,20
então minha pergunta é ... existe uma maneira de ter outro trabalho em execução 2:11
, ou seja 8:11
, , 14:11
,20:11
ou devo dizer 11 */6 * * * sleep 120m && my_command
para a execução alternativa?
Usar
0,6,12,18
ou2,8,14,20
é a maneira padrão de especificar essas listas de horas.*/6
, embora suportado pela maioria das implementações do cron não seja padrão.Então aqui, basta usar:
Veja também
sleep "$((120 * 60))"
ousleep "$((2 * 60 * 60))"
para o equivalente padrão desleep 120m
ousleep 2h
.Dito isto, com a implementação do cron encontrada no Debian e derivados, pelo menos, você também pode combinar intervalo e intervalo para poder fazer:
(ou use
0-23
no lugar do*
primeiro para deixar mais claro o que há de diferente entre os dois).