【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& ...
随机推荐
- 关于开发板不能ping通外网IP
最近在做远程监控的项目,打算用开发板给一个网站发送数据包.不过发现开发板只能ping通同一局域网内的ip,外网的ip不能ping通.纠结了半天发现是网关没有设置的原因.下面来说说如何解决这个问题. 首 ...
- 《算法问题实战策略》-chaper32-网络流
基本的网络流模型: 在图论这一块初步的应用领域中,两个最常见的关注点,其一时图中的路径长度,也就是我们常说的的最短路径问题,另一个则是所谓的“流问题”. 流问题的基本概念: 首先给出一张图. 其实所谓 ...
- 解决nginx session共享的问题
不使用session,换作cookie 能把session改成cookie,就能避开session的一些弊端,在从前看的一本J2EE的书上,也指明在集群系统中不能用session,否则惹出祸端来就不好 ...
- POJ1595_Prime Cuts【素数】【水题】
Prime Cuts Time Limit: 1000MSMemory Limit: 10000K Total Submissions: 10464Accepted: 3994 Description ...
- LeetCode Maximum Product Subarray 解题报告
LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...
- 日积月累:ProguardGui进行jar包代码混淆
前面文章<Proguard进行源代码混淆>讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:http://blog.csdn.net/p106 ...
- [Angular 2] Passing Observables into Components with Async Pipe
The components inside of your container components can easily accept Observables. You simply define ...
- [转] gdb中忽略信号处理
信号(Signals) 信号是一种软中断,是一种处理异步事件的方法.一般来说,操作系统都支持许多信号.尤其是UNIX,比较重要应用程序一般都会处理信号.UNIX定义了许 多信号,比如SIGINT表示中 ...
- [转] vim 正则表达式 很强大
毋庸多言,在vim中正则表达式得到了十分广泛的应用. 最常用的 / 和 :s 命令中,正则表达式都是不可或缺的. 下面对vim中的正则表达式的一些难点进行说明. 关于magic vim中有个magic ...
- PHP 将Base64图片保存到 Sae storage
<?php $file_dir='tu/'.date("Y/m/d").'/'; $fileName=create_guid(); $storage = new SaeSto ...