【Ecstore2.0】计划任务/队列/导入导出 的执行问题
【环境】CENTOS6.3 + wdcp(php5.3)
【症状】可正常加入队列,但不执行队列
【原因】大部份都是用户权限造成
【原理】
Ecstore2.0的导入导出、发送邮件、日常清理备份等任务操作,都通过用入任务队列,然后采用LINUX的CRON任务调试定时来执行并清空队列。
【方法】
第一步:测试linux环境的cron是否能被正常执行,从root用户开始

#root身份登陆
crontab -uroot -e #输入:每隔一分钟向test文件写入当前时间,保存退出
*/1 * * * * date>>~/test #重启cron服务
service crond restart #监视cron日志
tail -f /var/log/cron #监视test变化
tail -f ~/test

如不能执行,确认cron服务是否安装和启动,具体方法就不多说了,自行GOOGLE吧。
第二步:确认 www 用户可正常执行计划任务

#root身份登陆
crontab -uwww -e #输入:每隔一分钟向test文件写入当前时间,保存退出
*/1 * * * * . /etc/profile;/bin/sh date>>~/test #重启cron服务
service crond restart #监视cron日志
tail -f /var/log/cron #监视test变化
tail -f ~/test

www用户的文件中,命令前加了“. /etc/profile;/bin/sh”,这是因为www没有载入环境变量。
第三步:修改www的用户配置,wdcp/wdlinux中 www用户的主目录默认为/dev/null,我这里改为/home/www,并赋于www用户读写权限。
#更改用户主目录(执行前先确认www用户的UID,cat /etc/passwd)
#需要先停止WEB服务,否则会提示www用户已登陆(usermod: user www is currently logged in) usermod -d /home/www -u 1000 www #启动web服务器,重新偿试第二步
第四步:修改www用户的任务配置文件(配置文件以用户名命名存放在 /var/spool/cron)
crontab -uwww -e */1 * * * * . /etc/profile;/bin/sh /www/web/aaa_com/public_html/script/queue/queue.sh>/dev/null
*/1 * * * * /www/web/aaa_com/public_html/script/crontab/crontab.php /www/wdlinux/wdphp/bin/php>/dev/null #重启cron服务,service crond restart
注:当你用 tail -f /var/log/cron 发现任务在重复执行时,使用 ps aux |grep cron* 查看是有多个cron进程,如果有kill掉就可以了
基本完工,就这么多了。在此之前,最好先以root手工执行 /www/web/aaa_com/public_html/script/queue/queue.sh,查看是否成功。
【Ecstore2.0】计划任务/队列/导入导出 的执行问题的更多相关文章
- (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle ...
- 【Ecstore2.0】导出问题解决(未导出或导出文件为0字节)
如果导出队列能成功执行(队列不执行看这里)但是并未生成文件,那么原因大部份可能是出在FTP上. ECSTORE2.0采用了PHP的FTP模块,所以先确认你的环境是否安装了FTP模块,如果没有,安装并在 ...
- TP5.0 excel 导入导出
引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo 再将Excel.class放到ThinkPHP\Library\Org\clas ...
- windows下 Mysql 8.0.x 数据库简单的导出和导入!!!
1.首先需要进入到mysql安装目录下的bin目录,执行cmd进入命令窗口. 2.导出(导出某个数据库,也可以针对某张表导出)2.1导出数据结构以及数据的命令: mysqldump -u root - ...
- 开源免费接口管理平台eoLinker AMS开源版 V3.2.0更新,增加批量导出导入接口功能!
eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本,提高项 ...
- Oracle 导入导出--and一些知识,备忘
这两天在做迁移Ora数据库,有一个圆友帮忙,哈哈,两个臭皮匠顶半个诸葛亮. 本来以为很简单的就imp和exp就欧了,结果各种状况百出,百度了老多,学到好多东西. 你的导出:exp yc/yc@orcl ...
- Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)
无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后 ...
- 用NPOI实现导入导出csv、xls、xlsx数据功能
用NPOI实现导入导出csv.xls.xlsx数据功能 直接上代码 首先定义一个接口 如果需要直接操作文件的话,就自己在封装一次 然后定义csv类的具体实现 这个需要引入命名空间LumenWo ...
- mysqldump导入导出mysql数据库
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
随机推荐
- 【HDOJ】1561 The more, The Better
树状DP. /* 1561 */ #include <iostream> #include <cstdio> #include <cstring> #include ...
- at命令
在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一 ...
- Merge Two Sorted Lists—LeetCode
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Oracle分页查询与RowNum
1. RowNum伪列 Oracle中,RowNum是一个伪列,表示当前记录是查询结果集中的第几条. RowNum在使用上应该注意,不能在where条件中用RowNum大于.大于等于.等于某个大于1的 ...
- Iterator荟萃
package com.starain.Iterator;/*代码整理快捷键为Ctrl+Shift+F * main方法输入快捷键main字符+Alt+/ * 输出快捷键sysout字符+Alt+/* ...
- Java集合中那些类是线程安全的
线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...
- Linux动态库的编译与使用
转载: http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Li ...
- IOS--跳转方式两种
带导航栏的Push跳转: FloatPassViewController *floatpass = [self.storyboard instantiateViewControllerWithIden ...
- Guice学习(一)
Guice学习(一) Guice是Google开发的一个轻量级依赖注入框架(IOC).Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,A ...
- valgrind 的使用及错误信息分析
这里记录一下使用valgrind查找你的应用程序中的各种潜在的错误信息,并举例说明. 经常使用valgrind查找一下你的代码的内存有关错误,对移植到嵌入系统后的系统稳定性来说有着重要的意 ...