首页 > 运营 > 帮助中心 > 正文

ecstore2.0的crontab计划任务问题

2019-10-16 21:43:49
字体:
来源:转载
供稿:网友
起初是客户汇报说,导出任务无法运行,一直停止在“等待执行”状态:
ecstore2.0的crontab计划任务问题

问了几个人,后来是官方群里的shopex吴伟给了我一个文档地址,http://www.ec-os.net/ecstore20/crontab.html
这是官方有关的crontab 的实施文档:

起初按照文档中所说的方法执行:crontab -u www -e 
然后insert两行任务脚本:
原始:
* * * * * /data/html/ecstore/script/queue/queue.sh /usr/bin/php >/dev/null
* * * * * /data/html/ecstore/script/crontab/crontab.php /usr/bin/php >/dev/null
我的:
* * * * * /alidata/www/mywebroot/script/queue/queue.sh /alidata/server/php/bin/php >/dev/null
* * * * * /alidata/www/mywebroot/script/crontab/crontab.php /alidata/server/php/bin/php >/dev/null
说明:
我的ecstore程序目录存放在 /alidata/www/mywebroot/下
php安装在:/alidata/server/php/bin/php

按ESC保存退出却提示无法保存,但生成了一个crontab.V5VJhl的临时文件在/tmp目录。
看后台,导出任务还是在“等待执行”状态,无变化。 

吴伟让我手动执行一下 /alidata/www/mywebroot/script/queue/queue.sh 这个脚本,显示如下:
ecstore2.0的crontab计划任务问题

后台看下,导出成功了。
ecstore2.0的crontab计划任务问题

这说明脚本是没有问题的,估计问题还是出现在crontab上,没有加载定时任务计划。

中间根据吴伟的提示,也查阅了一些资料,最终解决办法如下:
1、第一步:直接在ssh下运行:
/alidata/www/mywebroot/script/queue/queue.sh /alidata/server/php/bin/php

这样,键入crontab -u www -l 查看到 计划任务里面就有了一条任务
ecstore2.0的crontab计划任务问题


2、再执行命令:crontab -u www -e
将第二条任务输入进去,按ECC并键入:WQ保存退出:
ecstore2.0的crontab计划任务问题


3、/etc/init.d/crond restart   重启crond计划任务程序

4、chkconfig crond on  设置crond随系统启动 (确认一下,其实一般是自动启动了的)

通过以上步骤后,任务队列都能成功运行了。

后台截图:
ecstore2.0的crontab计划任务问题
需要注意的是,linux crond默认是每隔一分钟执行一次,如果客户操作了导出,马上去看导出任务队列,发现状态还是“等待执行”时,让客户等1分钟再查看就ok了。
 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表