2011-09-29 157 views
2

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

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

下面是cron作业的命令:

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

当我访问时,我得到一个空白页面:http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history(GET overall_ratings_history 200 OK nitelife.wmetools.com 0 111.67.13.57:80) –

+0

创建文件的cron作业还是PHP代码?我的猜测是代码。 – Herbert

+0

wget命令行参数 - 删除后 – 2011-09-29 02:39:13

回答

1

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

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

如果这个PHP文件是你的,你可以编辑它,这样它不会再给出200状态码和长度为0的文档。有一个很少使用的“204无内容”HTTP状态码。我没有用204测试过wget,但是在这种情况下它确实不应该保存文件,也不应该被认为是错误。

0

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

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

你可能会失去这些文件中的信息。