【Ecstore2.0】计划任务/队列/导入导出 的执行问题

简介: 【环境】CENTOS6.3 + wdcp(php5.3) 【症状】可正常加入队列,但不执行队列 【原因】大部份都是用户权限造成 【原理】   Ecstore2.0的导入导出、发送邮件、日常清理备份等任务操作,都通过用入任务队列,然后采用LINUX的CRON任务调试定时来执行并清空队列。

【环境】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,查看是否成功。

   如果导出任务执行正常,但是下载的文件为0字节,或发现并未在FTP目录中创建导出文件,可以移步【这里

相关文章
|
8月前
|
存储 Linux Shell
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
243 0
|
2月前
|
存储 安全 数据安全/隐私保护
轻松解锁BitLocker:创建自动解密批处理脚本
本文介绍了如何在Windows 7中通过创建批处理脚本来简化BitLocker驱动器的解锁过程。利用`manage-bde`命令行工具,用户可以通过输入驱动器盘符和密码来解锁BitLocker保护的驱动器,同时强调了安全注意事项,建议避免在脚本中直接写入密码以防止安全隐患。
59 1
|
3月前
|
缓存 Java UED
仅执行一次的定时任务如何设置?
【10月更文挑战第12天】仅执行一次的定时任务如何设置?
185 1
|
5月前
|
监控 数据挖掘 Linux
Linux服务器PBS任务队列作业提交脚本的使用方法
【8月更文挑战第21天】在Linux服务器环境中,PBS任务队列能高效管理及调度计算任务。首先需理解基本概念:作业是在服务器上执行的任务;队列则是等待执行任务的列表,具有不同的资源限制与优先级;节点指分配给作业的计算资源。
815 4
|
5月前
|
Oracle 关系型数据库 测试技术
《Oracle数据库管理员的利器:一键自动清理过期日志脚本详解》
【8月更文挑战第13天】在Oracle数据库管理中,日志文件的积累是一个需谨慎处理的问题。日志文件对故障恢复至关重要,但也可能占用大量磁盘空间。本文提供一个自动清理日志的脚本,帮助维护数据库健康。脚本通过定义日志路径和保留天数,使用`find`命令查找并删除过期日志,同时记录清理操作。使用前,请确认日志路径正确,并根据备份策略设置保留天数。通过给予脚本执行权限和配置定时任务(如cron),可实现自动清理,保持文件系统整洁,避免因日志文件过多引发的问题。务必在理解脚本原理并做好备份的情况下使用。
78 0
|
Shell Linux
Linux使用Shell脚本定时清理日志
Linux使用Shell脚本定时清理日志
198 1
|
Java Linux
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
323 0
|
关系型数据库 MySQL 数据库
mysql数据库数据定时封装转储
1.封装转储存储过程 CREATE  PROCEDURE `add_resident_portrait`() BEGIN       TRUNCATE TABLE resident_portrait;   INSERT...
1544 0

热门文章

最新文章