Linux crontab不起作用(执行脚本)

时间:2010-08-14 11:46:21

标签: linux scripting shell cron

我使用命令crontab -e:

创建了一个cronjob
*/1 * * * * /var/lib/tomcat/webapps/ROOT/WEB-INF/scripts/test.sh 

此文件test.sh应每分钟执行一次。但它不起作用。

如果我手动运行脚本,它可以正常工作。所以我认为问题是cronjob而不是脚本;)

是否有任何权限或其他阻止cronjob的内容?

cronjob语法是否正确?

THX

1 个答案:

答案 0 :(得分:4)

首先,如果您希望每分钟完成一次,则不需要/1。只需将分钟字段设置为*即可。

接下来,您应该在测试脚本中放置第一行行(尽管在#!行之后,如果它在那里):

env >/tmp/test.sh.dummy
set >>/tmp/test.sh.dummy

并查看该文件是否显示。

这将告诉您脚本是否正在运行。

如果正在运行,请检查以确保cron本身正在运行:

pax> ps -ef | grep cron | grep -v grep
root      1048     1  0 08:45 ?        00:00:00 cron

(我的)。

如果 正在运行,最可能的问题是cron运行作业的环境远不及shell提供的环境。检查输出到/tmp/test.sh.dummy文件的内容与执行env ; set时shell提供的内容之间的差异。