如何增加cronjob / crontab的超时?

时间:2009-03-01 10:10:45

标签: timeout cron

我编写了一个脚本,可以从solr获取数据,其日期在指定的时间段内,并且我使用每日cron运行脚本。

问题是cronjob没有完成任务。如果我手动运行脚本(在相同的时间段内),它运行良好。如果我减少指定的时间段,脚本也会从cron运行。所以我的猜测是cronjob在运行脚本时超时,有很多数据需要处理。

如何增加cronjob的超时?

PS - 1.我在cronjob中运行的脚本是一个运行python脚本的bash脚本。

2 个答案:

答案 0 :(得分:19)

请注意,建议的ulimit -t解决方案将限制使用的CPU时间量,而不是已经过的实际时间量。

来自bash联机帮助页:

ulimit [-HSTabcdefilmnpqrstuvx [limit]]
...
-t     The maximum amount of cpu time in seconds

更重要的是,cron首先不会施加任何超时。它只是启动任何过程并继续前进。


BTW:很抱歉发布此答案,但我还没有足够的积分来添加评论。

答案 1 :(得分:5)

在运行脚本之前,您可以尝试在cronjob中使用ulimit -t [秒数]。