【问题标题】:Crontab in PleskPlesk 中的 Crontab
【发布时间】:2010-12-20 06:34:54
【问题描述】:

我正在尝试在 Plesk 中使用 crontab 运行测试脚本。 php 文件只是通过电子邮件向我发送消息

mail('me@somewhere.com','Cron Test','Test');  

我的 php 路径是 /user/bin/php

我在每个字段中都输入了 *,以使用以下命令每分钟运行一次脚本:

/usr/bin/php -q /usr/httpdocs/crontest.php

但是,脚本并未运行。

谁能帮忙?

我可能遗漏了一些简单的东西,我以前从未使用过 cron。

任何建议表示赞赏。

谢谢。

【问题讨论】:

    标签: php crontab plesk


    【解决方案1】:

    我会先让它写入日志文件。例如:

    * * * * * /usr/bin/php -q /usr/httpdocs/crontest.php >> /a-location/crontest.log 2>&1
    

    这至少会给你任何明显的错误,比如找不到 php 等。

    【讨论】:

    • 它应该已经在发送带有执行结果的电子邮件,除非您在命令末尾特别添加了2>&1
    【解决方案2】:

    我发现当在 plesk 中使用基于用户的 cron 时,有很多问题:

    首先我发现你应该从虚拟域中引用脚本。如果您的脚本的绝对地址为 /var/www/vhosts/domain.com/httpdocs/email-this.php,则应在 crontab 中将其引用为 httpdocs/email-this.php。

    其次,脚本必须具有非常特殊的权限,但不确定它们“必须是什么”。 apache:apache 是所有对我有用的东西。即使设置了组写入权限,用户仍然必须是 apache……很奇怪。

    第三,进行测试的最简单方法是直接编辑 crontab,而不是每次我需要进行更改时都返回 plesk... 像这样编辑你的 crontab:

    crontab -u [文件系统用户名] -e

    第四,我永远无法让 crontab 写入 httpdocs 之外的日志文件(我尝试了各种我能想到的统计/日志/cron_log ......哈哈......没有骰子)。我最终只是在测试期间在 crontab 文件的顶部添加了 MAILTO 指令:

    例如:

    MAILTO=you@domain.com
    ##      *       *       *       *       *       php -q httpdocs/cron.php
    

    【讨论】:

      【解决方案3】:

      如果您拥有 Plesk 10 或更高版本,请参阅此内容:http://shaun.net/2011/09/solving-plesk-10-3-1-cron-issues/

      我不得不这样做

      /usr/local/psa/bin/server_pref -u -crontab-secure-shell "/bin/sh"

      让这个(示例)工作:wget -O - http://www.yourdomain.com/cron.php

      【讨论】:

        猜你喜欢
        • 2012-01-23
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        • 2014-11-23
        • 1970-01-01
        • 2011-03-12
        • 2015-08-31
        • 2010-10-24
        相关资源
        最近更新 更多