运行cronjobs并发送到电子邮件问题

时间:2009-12-06 12:11:56

标签: cron crontab

我想创建每10分钟运行一次的cronjobs<现在时间

并向我发送一封包含以下txt的电子邮件。

“已删除的订单”

我的代码看起来像这样。

MAILTO=”my_email@mail.com”
*/10 * * * * /var/www/php-sites/dlf/cron_jobs.php

我在最后30分钟检查了我的邮件..但仍未收到任何邮件。 我做错了吗?

1 个答案:

答案 0 :(得分:4)

首先,我记得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!";

但我想我们可以以某种方式摆脱它们,如果它们是一个问题。

这样做的唯一好处就是缩短路径:)