如何设置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在每次执行时创建一个空文件!?为什么?
Iva*_*van 19
像这样使用curl:
/usr/bin/curl http://domain.com/page.php
不要担心输出,它会被忽略
我有同样的问题.解决方案是理解wget输出两件事:url请求的结果和有关它正在做什么的活动消息.
默认情况下,如果您没有指定输出文件,它将在运行wget的当前文件夹中创建一个看似以url中文件命名的输出文件.
如果要指定其他输出文件:
-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指定活动日志的位置,因此如果您希望记录URL请求的活动,您可以:
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的简写,这是活动日志.
小智 7
我花了几个小时才让它工作。感谢人们写下解决方案。还需要确保检查是否需要单引号或双引号,否则会解析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