题
我正在尝试在 Plesk 中使用 crontab 运行测试脚本。php 文件只是通过电子邮件向我发送一条消息
mail('me@somewhere.com','Cron Test','Test');
我的 php 路径是 /user/bin/php
我在每个字段中输入了 *,以便使用以下命令每分钟运行脚本:
/usr/bin/php -q /usr/httpdocs/crontest.php
但是,该脚本并未运行。
有人可以帮忙吗?
我可能错过了一些简单的事情,我以前从未使用过 cron。
任何建议表示赞赏。
谢谢。
解决方案
我会因此得到写入到一个日志文件开始。例如:
* * * * * /usr/bin/php -q /usr/httpdocs/crontest.php >> /a-location/crontest.log 2>&1
这至少可以给你喜欢不能够找到PHP等任何明显的错误。
其他提示
我发现在使用的用户根据计划在panel,有一些问题:
首先我发现你应该参考脚本自的虚拟领域。如果你的脚有一个绝对的地址/var/www/vhosts/domain.com/httpdocs/email-this.php,你应该参考它作为httpdocs/email-this.php 在务.
第二,剧本要有非常特别的权限,但不确定是什么,他们"必须是"。apache:apache是所有曾经为我工作。即使有组编写的许可设置,用户仍有待apache...奇怪的。
第三,最简单的方法的测试是要编辑务,而不是直接回到panel每次我需要做出改变...编辑务是这样的:
务-u[文件系统的用户名]-e
第四,我可能永远不会得到务写入记录文件之外的httpdocs(我尝试了统计数据/记录/cron_log各种方式我能想到的...哈哈...没有骰子)。最后我只是增加MAILTO指令在顶务文件的过程中测试:
例如:
MAILTO=you@domain.com
## * * * * * php -q httpdocs/cron.php
如果您拥有 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