TaoGOGO的技术博客,始于2007年,通过文字分享技术、记录生活

crontab无法执行的调试方法

2013-10-22

今天在加一个casperjs脚本执行的定时任务时,发现任务不执行。

命令如下:

* * * * * /usr/local/bin/casperjs /data0/a.js >> /data0/a.log

先去/var/log/cron看,发现任务被调用了:

Oct 22 17:41:01 localhost crond[2727]: (root) CMD (/usr/local/bin/casperjs /data0/a.js >> /data0/a.log)

但是a.log没有任何内容。

估计是脚本根本没有执行,出现错误了。

将系统错误信息也重定向到日志文件:

* * * * * /usr/local/bin/casperjs /data0/a.js >> /data0/a.log 2>&1

这时发现是因为找不到phantom和casperjs,原来我把他俩安装到/usr/local/bin/目录下了,定时任务里的PATH内没有这个目录。

往/usr/bin里加上这两个程序的软链就可以了。


补充:2014.10.30

今天遇到一奇怪现象,一台机器上使用ubuntu账号crontab -e设置的定时任务无法执行,使用root账号则可以,经过一番乱打乱撞,才发现是ubuntu账号密码过期(chage -l ubuntu)。

当你的定时任务无法执行,并且你的server是个快退休的老爷机,不妨看看账号的有效时间。

类别: | 阅读:174424 | 评论:0 | 标签:linux crontab

想收藏或者和大家分享这篇好文章→

“crontab无法执行的调试方法”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

҉百度内部推荐,高级研发/PM(需2年以上工作经验)。
有意者微博私信联系~

微博言语

文章分类