如何设置wget cron job命令

时间:2011-11-09 10:33:44

标签: php linux webmin

如何设置cron job命令来执行URL?

/usr/bin/wget -q http://www.domain.com/cron_jobs/job1.php >/dev/null 2>&1

为什么我不能做这个工作!?尝试了一切.. PHP脚本应该发送电子邮件并创建一些文件,但没有完成

该命令返回:

Output from command /usr/bin/wget -q http://www.domain.com/cron_jobs/job1.php ..

No output generated

...但是每次执行时它仍会在/root中创建一个空文件!?为什么呢?

4 个答案:

答案 0 :(得分:18)

像这样使用curl:

/usr/bin/curl http://domain.com/page.php

不要担心输出,它会被忽略

答案 1 :(得分:8)

我遇到了同样的问题。解决方案是理解wget输出两件事:url请求的结果和有关它正在做什么的活动消息。

默认情况下,如果您没有指定输出文件,它将在运行wget的当前文件夹中创建一个,似乎以您的网址中的文件命名。

如果要指定其他输出文件:

-O outputfile.txt 

会将url结果输出到outputfile.txt,覆盖那里的内容。

如果您希望附加到该文件,请写入std out然后从那里追加到该文件: 这就是诀窍:写出std out use:

-O-

第二个破折号代替文件名并告诉wget将url结果写入std out。

然后使用附加语法>>,附加到您选择的文件中:

wget -O- http://www.invisibility.com >>/var/log/invisibility.log

小写o指定活动日志的位置,因此如果您希望记录网址请求的活动,您可以:

wget -o http://someurl.com /var/log/activity.log

-q禁止输出活动消息

wget -q http://someurl.com /var/log/activity.log

不会将任何活动记录到指定文件中,我认为这是人们感到困惑的关键。

记住: -O是--output-document的简写 -o是--output-file的简写,这是活动日志。

答案 2 :(得分:3)

花了我几个小时让它工作。感谢您写下解决方案的人。 还需要确保检查是否需要单引号或双引号,否则它将解析url错误导致错误消息:

这有效(使用单引号):

/usr/bin/wget -O -q 'http://domain.com/cron-file.php'

这给出了错误(使用双引号):

/usr/bin/wget -O -q "http://domain.com/cron-file.php"

不知道是否需要/ usr / bin /。阅读有关如何执行-O -q顺序的不同方法。对于这个主题,很难在网上找到可靠的权威来源。这么多不同的例子。

在这里可以找到有关可用选项的在线wget手册(但请查看Linux发行版用于获取最新版本): http://unixhelp.ed.ac.uk/CGI/man-cgi?wget

答案 3 :(得分:1)

使用wget显示HTML:

wget -qO- http://www.example.com