Executando um cron job aleatoriamente para cada uma hora

2

Eu quero que um cronjob seja executado a cada uma hora aleatoriamente. (ou seja, se o primeiro trabalho for executado aos 58 minutos, o segundo trabalho deverá ser executado aos 47 minutos e o terceiro aos 52 minutos e assim por diante). Mas isso deve ser executado aleatoriamente para a hora de todos.

    
por Farook 31.05.2016 / 09:13

1 resposta

5

Você pode fazer isso definindo uma tarefa que é executada a cada hora e dorme por um período aleatório antes de executar o comando em que você está realmente interessado. Em seu crontab:

SHELL=/bin/bash

0 * * * * sleep $((RANDOM*3600/32768)) && command

(Você precisa especificar o shell, para garantir que $RANDOM esteja disponível. Existem outras maneiras de obter um valor aleatório para sleep , se não for apropriado.)

    
por 31.05.2016 / 09:24