Programe um cronjob toda vez que for feito

2

Eu tenho um cronjon que é executado a cada 48 horas. Mas, idealmente, o que eu quero é que ele comece a funcionar assim que ele parar. Isso pode ser feito? É um script sh que consiste em um comando python. Eu estou usando o Linux Mint 13.

Obrigado

    
por Rishi 19.01.2013 / 14:43

1 resposta

1

Uma coisa que você pode fazer é executar o comando python em um loop infinito e, em seguida, executar o script uma vez usando o cron. Dessa forma, o script será executado novamente toda vez que terminar:

#!/bin/bash
while true; do  ## Enter infinite loop
   sleep 5;   ## Wait for 5 seconds
   python -c 'print("hello world")'  ## Run your python command
done 

Se você salvar esse script como, por exemplo, ~/run_python.sh e torná-lo executável ( chmod +x ~/run_python.sh ), poderá defini-lo para ser executado uma vez na inicialização do sistema usando o prefixo @reboot . Adicione esta linha ao seu crontab:

@reboot ~/run_python.sh

Assim, o script BASH será iniciado na inicialização do sistema e aguardará 5 segundos, executará o comando python e continuará indefinidamente.

Uma maneira melhor, ou pelo menos mais * nixy, de fazer isso seria adicionar script a /etc/init.d .

    
por 19.01.2013 / 19:01