Linux crontab定时任务调试

添加了一个crontab任务,凌晨2点半执行。

30 2 * * * www  /usr/local/php/bin/php /www/demos/h5upload/crontab.php

第二天查看日志,发现执行失败:

cd /var/log

vi cron

搜索php:

/php

Aug 29 02:30:01 VPS CROND[18452]: (www) CMD ( /usr/local/php/bin/php /www/demos/h5upload/crontab.php)
Aug 29 02:30:02 VPS CROND[18453]: (CRON) ERROR chdir failed (/home/www): No such file or directory
Aug 29 02:30:02 VPS CROND[18451]: (www) MAIL (mailed 166 bytes of output but got status 0x0002#012)

crontab任务失败


搜索才知道原来www用户缺少根目录了,而执行crontab任务的用户必须要用根目录,不然报错。

给www用户添加根目录/home/www:

Linux crontab定时任务调试_第1张图片

任务改成每小时24分执行一次:

24 * * * * www /usr/local/php/bin/php /www/demos/h5upload/crontab.php

执行OK:

 126 Aug 29 11:24:01 VPS CROND[18647]: (www) CMD ( /usr/local/php/bin/php /www/demos/h5upload/crontab.php)

Linux crontab定时任务调试_第2张图片


记得以前搜索不是用的/,而是?,试了发现,原来顺序是相反的。

/php是往光标之后搜索php,而?php是往前搜索

参考:

Ubuntu查看crontab运行日志 - AndyLizh的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/gebitan505/article/details/17299755

http://serverfault.com/questions/417850/why-isnt-my-cronjob-running



你可能感兴趣的:(开发经验,Linux)