【问题标题】:Run PHP script in crontab only works when exporting to a file在 crontab 中运行 PHP 脚本仅在导出到文件时有效
【发布时间】:2015-07-19 12:34:48
【问题描述】:

在 CentOS 6.5 版(最终版)上:

我知道通常我只需要在 crontab 中使用以下命令来运行一个 php 脚本。

0 * * * * /usr/local/bin/php absolute_path_file_to_the_script.php

但是,最近它停止了工作。唯一的解决方法是使用以下命令

0 * * * * /usr/local/bin/php absolute_path_file_to_the_script.php > log

但我现在不想输出任何内容来记录。

所以,我什至尝试过

0 * * * * /bin/sh -c "/usr/local/bin/php absolute_path_file_to_the_script.php"

但上述推荐在 crontab 中再次不起作用(如果我直接在 shell 中输入,它会起作用)。

而且我确信上面的命令确实在 crontab 中运行了一秒钟 ps ux,然后它停止执行。

关于如何在不记录日志的情况下正确运行命令的任何想法?

【问题讨论】:

  • 所以> /dev/null,所以“日志”会立即被扔掉?
  • 添加 "> /dev/null 2>&1" 到最后清除输出而不是“log”
  • php脚本执行什么功能?它应该输出到文件、更新数据库还是运行服务器维护?

标签: php linux centos crontab


【解决方案1】:

Marc 和 Greg 的两个答案都有效:

> /dev/null

> /dev/null 2>&1

【讨论】:

    【解决方案2】:

    尝试从终端运行该命令(仅 php,没有 cron 设置)并显示结果

    【讨论】:

    • 这是评论,不是答案。
    • 如果我直接从终端运行命令。它打印出程序进度等帮助信息。此外,它还在更新一个 mongo 数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2021-03-12
    • 1970-01-01
    相关资源
    最近更新 更多