题
我想创建每 10 分钟运行一次的 cronjobs < 现在
并向我发送一封包含以下 txt 的电子邮件。
“已删除的订单”
我的代码看起来像这样。
MAILTO=”my_email@mail.com”
*/10 * * * * /var/www/php-sites/dlf/cron_jobs.php
我在过去 30 分钟检查了我的邮件..并且还没有收到任何邮件。我做错了吗?
解决方案
首先,我记得 php 脚本应该以这种方式执行(例如 Ubuntu 路径,不确定其他发行版):
/usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php
您还可以将作业输出保存到文件中以查看失败的确切原因,对于您的作业,它可能如下所示:
*/10 * * * * /usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php > /tmp/cron.out 2>&1
检查 cron.out 内容。
希望这可以帮助。
编辑
我做了小测试,通常的 Shell 方式似乎也有效。我已经创建了脚本 phptest.sh (+x) 内容:
#!/usr/bin/php-cgi
echo "It works this way!";
除了一件事之外,它似乎有效。它将标头抛出到标准输出中,如下所示:
***@***:~$ ./phptest.sh
X-Powered-By: PHP/5.2.10-2ubuntu6.3
Content-type: text/html
echo "It works this way!";
但我想,如果它们是一个问题,我们可以以某种方式摆脱它们。
这样做的唯一优点是路径更短:)
不隶属于 StackOverflow