在cron中使用lynx或wget来调用一个php脚本?

我正在检查一个特定的设置,他们有他们的crontab如下:

0 * * * * lynx http://www.example.com/cron/scriptA.php 

当然,这依赖于“安全防护”的原则,因为互联网上的任何人知道这些文件的位置,都可以打电话给他们,并有可能使服务器超载。

除此之外,上面这个脚本运行的“模式”有没有什么内在的错误。

当我以root身份从命令提示符testinglynx http://www.example.com/cron/scriptA.php时 ,它促使我下载一个会话cookie,所以我想我至less应该修改上面的内容:

 lynx -accept_all_cookies http://www.example.com/cron/scriptA.php 

或者我应该使用:

 wget -q -O /dev/nul http://www.example.com/cron/scriptA.php 

如果要保护这些文件,可以将Web服务器configuration为仅允许从本地主机连接到这些特定的脚本。 你没有提到你使用的是什么Web服务器,但是例如在Apache中,这可以通过DirectoryAllow / Deny参数的组合来完成,就像

 <Directory /cron> Order deny,allow Deny from all Allow from localhost </Directory> 

为了提高安全性,您可以修改您的cron脚本来检查客户端地址。 如果不是本地主机,则拒绝执行cron魔法并返回其他内容。

说到工具,lynx和wget都很好。 当我在cron中使用lynx时,我倾向于将它与-dump标志一起使用。