开发者

Linux cronjob doesn't work (execute script)

开发者 https://www.devze.com 2023-01-11 07:41 出处:网络
I created a cronjob with the command crontab -e: */1 * * * * /var/lib/tomcat/webapps/ROOT/WEB-INF/scripts/test.sh

I created a cronjob with the command crontab -e:

*/1 * * * * /var/lib/tomcat/webapps/ROOT/WEB-INF/scripts/test.sh 

This file test.sh should be executed every minute. But it doesn't work.

If I run the script manually it works fine. So I think the problem is the cronjob not the script ;)

Are there any permissions or some开发者_如何学Cthing else which block the cronjob?

Is the cronjob syntax correct?

Thx


For a start, you don't need the /1 if you want it done every minute. Just setting the minute field to * will do.

Next, you should place, as the first lines in your test script (though after the #! line if it's there):

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

and see if that file shows up.

That will tell you if the script is running or not.

If it's not running, check to make sure cron itself is running:

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

(mine is).

If it is running, the most likely problem is that the environment under which cron runs your jobs is nowhere near the environment your shell gives you. Examine the differences between what was output to your /tmp/test.sh.dummy file and what your shell gives your when you execute env ; set.

0

精彩评论

暂无评论...
验证码 换一张
取 消