1

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

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

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

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

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

但是,该脚本未运行。

任何人都可以帮忙吗?

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

任何建议表示赞赏。

谢谢。

4

3 回答 3

2

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

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

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

于 2009-11-25T12:31:11.457 回答
1

我发现当在 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
于 2011-01-31T19:49:34.587 回答
0

如果您有 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

于 2013-08-14T22:32:22.040 回答