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

运行cronjobs并发送电子邮件问题,cron,crontab,Cron,Crontab,现在,我想创建每10分钟运行一次的cronjobs 然后用下面的txt给我发一封电子邮件 “已删除的订单” 我的代码看起来像这样 MAILTO=”my_email@mail.com” */10 * * * * /var/www/php-sites/dlf/cron_jobs.php 我在过去的30分钟里检查了我的邮件。。还没有收到任何邮件。 我做错了吗 首先,我记得php脚本应该以这种方式执行(例如Ubuntu path,不确定其他发行版): 此外,您还可以将作业输出保存到文件中,以查看失败的

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

然后用下面的txt给我发一封电子邮件

“已删除的订单”

我的代码看起来像这样

MAILTO=”my_email@mail.com”
*/10 * * * * /var/www/php-sites/dlf/cron_jobs.php
我在过去的30分钟里检查了我的邮件。。还没有收到任何邮件。
我做错了吗

首先,我记得php脚本应该以这种方式执行(例如Ubuntu path,不确定其他发行版):

此外,您还可以将作业输出保存到文件中,以查看失败的确切原因,对于您的作业,它可以如下所示:

*/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!";
但我想,如果它们是个问题,我们可以设法摆脱它们


唯一的优点是路径更短:)

首先,我记得php脚本应该以这种方式执行(例如Ubuntu路径,不确定其他发行版):

此外,您还可以将作业输出保存到文件中,以查看失败的确切原因,对于您的作业,它可以如下所示:

*/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!";
但我想,如果它们是个问题,我们可以设法摆脱它们


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

甜心,甜心:-)非常感谢您。。我忘了安装:sudoaptitude安装php5-cgi+1,当然回答得很好。但是cron的默认行为不是获取程序的stdout输出并将其填充到邮件中吗?如果是这样,你建议的第二部分就没有必要了;事实上,重定向输出将导致cron不发送邮件,对吗?@Carl我不确定cron在默认情况下将输出抛出何处,但我认为它是a/dev/null,因此保存到文件中是检查它的常用方法。重定向输出只会重定向输出,使用它的脚本没有任何问题:)@Sergii:From
mancron
在Ubuntu Linux上:“执行命令时,任何输出都会邮寄给crontab的所有者(或者邮寄给crontab中MAILTO环境变量中指定的用户,如果存在的话)。”我想说的是:如果您停止重定向,cron将通过管道将输出传输到mail,OP将获得他的邮件。如果你把它编入文件,他永远不会收到任何邮件。@Carl这是很好的澄清,谢谢。但是我想威廉需要执行脚本,脚本会发送电子邮件。甜甜,甜甜:-)谢谢。。我忘了安装:sudoaptitude安装php5-cgi+1,当然回答得很好。但是cron的默认行为不是获取程序的stdout输出并将其填充到邮件中吗?如果是这样,你建议的第二部分就没有必要了;事实上,重定向输出将导致cron不发送邮件,对吗?@Carl我不确定cron在默认情况下将输出抛出何处,但我认为它是a/dev/null,因此保存到文件中是检查它的常用方法。重定向输出只会重定向输出,使用它的脚本没有任何问题:)@Sergii:From
mancron
在Ubuntu Linux上:“执行命令时,任何输出都会邮寄给crontab的所有者(或者邮寄给crontab中MAILTO环境变量中指定的用户,如果存在的话)。”我想说的是:如果您停止重定向,cron将通过管道将输出传输到mail,OP将获得他的邮件。如果你把它编入文件,他永远不会收到任何邮件。@Carl这是很好的澄清,谢谢。但是我想William需要执行脚本,脚本会发送电子邮件。