在 cron 中将 wget 输出通过管道传输到 /dev/null

在 cron 中将 wget 输出通过管道传输到 /dev/null

我在 crontab 中每 5 分钟运行以下命令以保持 Phusion Passenger 处于活动状态。

*/5 * * * * wget mysite.com > /dev/null 2>&1

当我运行此程序时,它会对站点网址执行 wget,将 STDOUT/STDERR 路由到 /dev/null。当我从命令行运行此程序时,它运行正常,并且不会在我的主目录中生成 index.html 文件。

当它从 cron 运行时,它会每五分钟创建一个新的 index.html 文件,给我留下大量我不想要的索引文件。

我运行 cron 作业的语法是否不正确?从命令行运行没有问题,但从 cron 运行会在我的主目录中生成一个 index.html 文件。

我确信我犯了一个简单的错误,如果有人能帮忙我将不胜感激。

答案1

你可以这样做:

*/5 * * * * wget -O /dev/null -o /dev/null example.com

这里-O将下载的文件发送到/dev/null-o记录到/dev/nullstderr,而不是 stderr。这样就根本不需要重定向了。

答案2

您是否需要实际下载内容或仅接收 200 OK?如果您只需要让服务器处理请求,为什么不直接使用参数呢--spider

答案3

我将使用以下内容:

/5 * * * * wget -O - mysite.com > /dev/null 2>&1

-O -选项确保获取的内容发送到标准输出。

答案4

让 Phusion Passenger 继续存在。

也许你的问题应该是关于这个的,网页上说:

一个快速而强大的 Web 服务器和应用程序服务器

这不需要任何保活脚本。

否则,kasperd 的解决方案是完美的。

相关内容