É possível executar um cron job com mais freqüência do que uma vez a cada minuto?

4

CentOS 6

Eu tenho um script de shell que executa uma tarefa a cada minuto. A tarefa em si leva apenas alguns segundos para ser concluída e, idealmente, eu gostaria que esse script de shell fosse executado de 2 a 3 vezes por minuto. Isso é possível com o cron? Ou o intervalo mais rápido é uma vez a cada 60 segundos?

    
por Mike B 18.03.2013 / 08:39

3 respostas

7

A manpage de

cron diz que

cron(8) examines cron entries once every minute.

então sua resolução é de 60 segundos por design. Você pode ter um cron job que chame o script mais de uma vez, mas terá que ter cuidado para que os trabalhos não comecem a se sobrepor caso o script demore mais do que o esperado.

Se você realmente precisar (digamos) de execução a cada 30 segundos, seria melhor quebrar seu script em um loop e daemonising. Você terá que escrever seu próprio tratamento de erros, pois você não poderá mais confiar em cron enviando erros por e-mail.

    
por 18.03.2013 / 10:04
6

É simples usar abaixo da sintaxe no cron

ele será executado se for executado primeiro com sucesso e depois outro e assim por diante

* * * * *  /path/of/yoursript.sh && sleep 5s && /path/of/yoursript.sh && sleep 5s && /path/of/yoursript.sh 
    
por 18.03.2013 / 08:51
4

Apenas um complemento para Rahul Patil answer. Usando sua resposta, consegui o resultado necessário da seguinte maneira:

* * * * *  /path/of/myscript.sh
* * * * *  sleep 20s && /path/of/myscript.sh
* * * * *  sleep 40s && /path/of/myscript.sh

Isso me permitiu executar o script 3 vezes por minuto.

    
por 15.01.2016 / 12:11

Tags