今天在配置ecstore2.0的定时任务时候,发现ECOS后台每30秒通过JS调用 http://localhost/ecstore-bugfix/index.php/shopadmin/index.php?ctl=default&act=status 地址来执行定时任务是无效的。ECOS如果没办法执行定时任务的话,很多定时或者自动处理的功能将无法实现。下面我将详细的讲解ECOS定时任务的配置。
1.配置crontab
CentOS已经默认安装好crontab,接下来就要为crontab写上定时执行的脚本。root权限下执行以下命令:crontab -e 粘贴以下命令进去:
1 2 */5 */1 * * * /data/html/ecstore/script/queue/queue.sh /usr/bin/php >/dev/null * * * * * /data/html/ecstore/script/crontab/crontab.php /usr/bin/php >/dev/null
:q 保存
注:”/data/html/ecstore” 为ecstore的安装路径
1 2 3 4 5 以上的代码所表述的内容是:每一小时的每 5分钟调用一次分配脚本 建议 crontab 每5分钟调用一次,如果数据量比较大,可以放在凌晨调用脚本 例如:每天凌晨 0点到4点每30分钟调用一次脚本,代码如下 30 0-4 * * * /data/html/ecstore/script/queue/queue.sh /usr/bin/php >/dev/null * * * * * /data/html/ecstore/script/crontab/crontab.php /usr/bin/php >/dev/null
crontab命令用法
用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * *
minute hour day month dayofweek command
其时间段的含义如下:
第一段 代表分钟 0—59第二段 代表小时 0—23第三段 代表日期 1—31第四段 代表月份 1—12第五段 代表星期几 0代表星期日
2.实现步骤
关闭原系统调用机制在config.php中添加如下代码
1 define('SYSTEM_CRONTAB',true);
最后保存,并输入以下命令重启cron
1 service crond restart
转载于:https://www.cnblogs.com/CHEUNGKAMING/p/4560286.html
相关资源:JAVA上百实例源码以及开源项目