Cron作业创建空白文件

时间:2011-09-29 01:23:49

标签: php cron

我创建的Cron作业每次运行时都会自动创建一个空白文件。

有没有办法解决此问题,以便它不会创建此文件?

以下是cron作业的命令:

/usr/bin/wget http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history

2 个答案:

答案 0 :(得分:1)

它正在下载一个空文件,因为这就是该URL为您提供的内容。如果您确定和/或不关心有一天该URL可能发送一些数据(如某种不常见的消息,如错误)的可能性,请在wget命令中添加“-O / dev / null”线。这将确保wget根本不会写一个真实的文件。如果出现4xx或5xx错误消息,您仍然可以通过cron的电子邮件获得超出标准错误的内容,但如果通过200响应的普通HTML发送任何消息,则会丢失。

这提出了一个问题,为什么“wget”首先链接起来?如果你只是想运行.php脚本并且不关心它的输出,我想第一个建议就足够了。否则,您可能需要一个简短的脚本,它将使用-O写入临时文件,并测试非零文件大小(bash中的“-s”),然后将文件移动到正确的位置,或删除0长文件。这样,正常位置将只有上次有任何数据的文件。

如果该PHP文件属于您,则可以对其进行编辑,使其不再提供200状态代码和0长度文档。有一个很少使用的“204 No Content”HTTP状态代码。我没有使用204测试wget,但在这种情况下它确实不应该保存文件,也不应该被视为错误。

答案 1 :(得分:0)

以下将删除wget创建的文件。

/usr/bin/wget -q --delete-after http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history

您可能会丢失这些文件中的信息。