【问题标题】:Php Cron job in ubuntu 10.10 does not execute for lampp - Help neededubuntu 10.10 中的 Php Cron 作业无法为 lampp 执行 - 需要帮助
【发布时间】:2014-03-07 16:36:35
【问题描述】:

我在 ubuntu 10.10 下尝试安排的每日 cron 作业需要一些帮助。我已经通过crontab -e 添加了这份工作,当我添加crontab -l 时,它看起来还可以。路径和命名都很好:

58 23 * * * /usr/bin/php -f /home/eem/cars1/cron/cronjob1.php

但是,cron 没有执行。我试图从 gnome 调度程序手动运行它。没有成功。我厌倦了用这个命令从控制台手动运行它,再次没有成功:

/usr/bin/php -f /home/eem/cars1/cron/cronjob1.php

我的 var/log/syslog 显示文件已执行,但 Xampp 上的网站没有任何变化:

May 14 06:27:57 eem-VirtualBox /usr/bin/crontab[31959]: (eem) LIST (eem)

此命令:crontab -e 中的 */5 * * * * echo hello 执行并显示在 syslog 中:

May 14 05:40:01 eem-VirtualBox CRON[31085]: (eem) CMD (echo hello)
May 14 05:40:01 eem-VirtualBox CRON[31084]: (CRON) info (No MTA installed, discarding output)

以下一些诊断:

Command1ps -C cron

终端

PID TTY          TIME CMD
  881 ?        00:00:02 cron

var/log/syslog

May 14 05:17:01 eem-VirtualBox CRON[31033]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

Command2:cat /etc/crontab

终端:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Command3: ls /usr/sbin/anacron

终端: /usr/sbin/anacron


Command4: grep CRON /var/log/syslog

终端::还有更多:

5 月 14 日 05:09:01 eem-VirtualBox CRON[30048]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && 查找 /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete) 5 月 14 日 05:17:01 eem-VirtualBox CRON[31033]: (root) CMD (cd / && run-parts --report /etc/cron.hourly)

为这篇长文道歉,但在为此苦苦挣扎了几天之后,我迫切希望找到问题所在。希望之后对其他人有所帮助。

【问题讨论】:

  • 如果你把php58 23 * * * php /home/eem/cars1/cron/cronjob1.php改成php的完整路径怎么办?您可以通过which php 获取它。
  • 也试过了,系统日志文件中没有任何反应:/usr/bin/php /home/eem/cars1/cron/cronjob1.php
  • 您应该将问题分成两部分:crontab 和脚本。对于 crontab,做一个简单的事情,比如* * * * * touch /tmp/abcdef,看看它是否有效。如果是这样,则 crontab 正在工作。对于脚本,您必须确保您的命令在将其添加到 crontab 之前单独运行。
  • * * * * * touch /tmp/abcdef 工作正常。对于脚本,您建议如何测试该命令是否单独工作?如果我在浏览器中启动 php 文件,它工作正常。当通过控制面板安排 cron 作业时,相同的文件也适用于实时服务器。只是不能让它在我的测试服务器上工作。
  • 您可以将命令php /home/eem....粘贴到您的命令行中,看看它是否有效。

标签: php linux cron lampp


【解决方案1】:

我阅读了您的 cmets,您绝对应该在尝试安排之前手动运行它。

从 php 配置中获取信息:

<?php
     phpinfo() 
?>

查找安装路径which php,对应版本php -v

最后确保脚本是可执行的chmod +x /home/eem/cars1/cron/cronjob1.php

【讨论】:

    【解决方案2】:

    我终于设法找出代码有什么问题。原来命令行不支持 ADOdb 库。

    所以我更改了 PHP 文件,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2023-04-08
      • 2015-03-30
      • 1970-01-01
      • 2023-03-24
      • 2011-05-04
      • 2020-07-03
      相关资源
      最近更新 更多