cron中的Bash程序,每次程序终止时都会运行

时间:2014-03-21 09:16:55

标签: linux bash terminal cron web-scraping

我想用这个工作在ubuntu中设置一个cron作业

我有一个python webscraping程序,需要在程序终止后连续报废。换句话说,流程就像这样

If program is terminated, set the cron job again (until infinity in cron's method)

something like * * * * * /python.py (but only when the python.py is terminated/finished)

有人可以指导我编写一个执行此工作的bash程序吗?该程序是python.py

感谢

1 个答案:

答案 0 :(得分:1)

当程序运行时,在某处写一个临时文件,并确保在程序终止时删除该文件。

然后在每次程序运行时测试文件是否存在。退出,如果它在那里。

run.sh

TMP_FILE=/tmp/i_am_running
[ -f $TMP_FILE ] && exit
touch $TMP_FILE
./python.py
rm $TMP_FILE
在您的crontab中

,请调用此run.sh而不是python.py

请记住,如果脚本提前退出(被杀等)并且tmp文件保留在文件系统中,它将再次运行python.py。你可以采取哪些措施来预防或发现类似的情况。