我使用命令crontab -e:
创建了一个cronjob*/1 * * * * /var/lib/tomcat/webapps/ROOT/WEB-INF/scripts/test.sh
此文件test.sh
应每分钟执行一次。但它不起作用。
如果我手动运行脚本,它可以正常工作。所以我认为问题是cronjob而不是脚本;)
是否有任何权限或其他阻止cronjob的内容?
cronjob语法是否正确?
THX
答案 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提供的内容之间的差异。