我在 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/null
stderr,而不是 stderr。这样就根本不需要重定向了。
答案2
您是否需要实际下载内容或仅接收 200 OK?如果您只需要让服务器处理请求,为什么不直接使用参数呢--spider
?
答案3
我将使用以下内容:
/5 * * * * wget -O - mysite.com > /dev/null 2>&1
该-O -
选项确保获取的内容发送到标准输出。
答案4
让 Phusion Passenger 继续存在。
也许你的问题应该是关于这个的,网页上说:
一个快速而强大的 Web 服务器和应用程序服务器
这不需要任何保活脚本。
否则,kasperd 的解决方案是完美的。