使用WGET运行cronjob PHP禁用通知电子邮件

5
我正在使用Godaddy作为Web主机,我想禁用cronjob完成后发送的电子邮件通知。 幸运的是,他们没有提供帮助,但是cronjob区域说:

您可以让cron每次运行命令时都发送电子邮件。 如果您不希望为单个cron作业发送电子邮件,则可以将命令的输出重定向到/ dev / null,如下所示:mycommand > /dev/null 2>&1

我已经尝试过几种方法,但似乎没有解决问题。

我的命令:

wget http://example.com/wp-admin/tools.php?page=post-by-email&tab=log&check_mail=1

任何建议都非常感激。

2
你尝试了哪些组合?建议似乎是正确的。 - fejese
我原本以为wp-admin脚本需要身份验证。你确定不是想访问wp-mail而不是tools吗? - LSerni
1个回答

7

根据cronjob区域的说明,您需要将命令的输出重定向到/dev/null

您的命令应该像这样:

wget -O /dev/null -o /dev/null "http://example.com/wp-admin/wp-mail.php" &> /dev/null
  • -O选项确保获取的内容被发送到/dev/null

如果您希望将获取的内容下载到服务器文件系统中,可以使用此选项指定所需文件的路径。

  • -o选项将日志记录到/dev/null而不是stderr

  • &> /dev/null是将stdout输出重定向到/dev/null的另一种方式。

注意事项

有关wget的更多信息,请查看man页面:您可以在控制台上键入man wget,或使用在线man页面:http://man.he.net/?topic=wget&section=all

如果-O-o都指向/dev/null,则不需要输出重定向(&> ...)。

如果您不需要下载内容,只需要服务器处理请求,则可以简单地使用--spider参数。


1
我相信这个已经解决了,电子邮件已经停止了,但现在正在尝试测试wget脚本,看看它是否仍然有效。感谢您的快速回复。在确认脚本正常工作后,我会再次回复。谢谢。 - Provider
好像我已经停止了电子邮件,但现在wget不能工作了。 - Provider
似乎使用给定的命令工作不正常。以下是我现在输入的确切内容。wget -O - "http://example.com/wp-admin/tools.php?page=post-by-email&tab=log&check_mail=1" >/dev/null 2>&1 - Provider
没有发送电子邮件,但是wget现在似乎无法工作,代码如下:wget -0 /dev/null -o /dev/null "http://example.com/wp-admin/tools.php?page=post-by-email&tab=log&check_mail=1" &> /dev/null - Provider
哦,那就尝试手动触发脚本(在浏览器中输入URL)。如果这种方式也不起作用,那么错误可能出现在脚本中(可能需要身份验证,或者您在运行错误的脚本。已经尝试使用 wp-mail 了吗?) - canolucas
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接