Gerar tarefas agendadas automáticas em horas diferentes

1

Saudações Sou novo no cron. É possível executar tarefas agendadas automáticas em minutos aleatórios a cada hora?

a sintaxe deve ser diferente todos os dias, por exemplo:

34,57,44,30,37,31,38,30,44,35,36,56,46,55,54,40,45,44,42,35,50,59,48,34,52,* * * * *

De acordo com o meu conhecimento, o código acima enviará trabalhos agendados às 00:34, 01:57, 02:44 .... às 23:52. Eu estou atualmente gerando a sintaxe no PHP, mas não tenho certeza de como enviá-lo para o comando cron ou se é seguro. Por favor, informe como fazer isso.

    
por Cyber Junkie 23.05.2012 / 02:46

2 respostas

7

Você pode usar um cronjob estático com um atraso:

0 *    * * *   user    sleep $(($RANDOM % 59))m; my_command

(não testado, mas deve funcionar)

    
por 23.05.2012 / 03:02
3

O código que você forneceu seria executado a cada minuto devido ao curinga ilimitado no final. O primeiro campo inteiro de uma entrada cron é simplesmente uma lista dos valores dos minutos com os quais o cron irá corresponder para checar se deve rodar o programa.

O Cron também simplesmente modula os valores de tempo. Dividir os minutos por 11 faz com que o cron comece em: 00,: 11,: 22,: 33,: 44 e: 55 minutos de cada hora.

    
por 23.05.2012 / 06:12

Tags