我是 freebsd 的新手,遇到一个问题:我的脚本使用wget
。当我从命令行调用它时,它运行良好,我看到如下输出:
--2011-09-22 15:55:58-- http://svarog.***/monitor/reply.PHP?port_id=312342
Connecting to 83.***.***.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 8 [text/HTML]
Saving to: `reply.PHP?port_id=312342'
0K 100% 1.14M=0s
2011-09-22 15:55:58 (1.14 MB/s) - `reply.PHP?port_id=312342' saved [8/8]
但从输出来看它被调用的方式cron
如下:
--2011-09-27 10:30:05-- http://svarog.***/monitor/reply.PHP?port_id=318437
Resolving svarog.***... 83.***.***.2
Connecting to svarog.***|83.***.***.2|:80... failed: Connection refused.
所以我猜我的问题出在代理设置上并试图检查它,但是:
echo $http_proxy
http_proxy: Undefined variable.
查看env
输出时我看不到与我的代理相对应的变量。
那么:我如何才能找到所使用的这些设置wget
以及如何在其下使用它cron
?
答案1
以上解决方案关于
.wgetrc
请告诉我如何使用带有代理的 wget。
我正在使用 Fedora 16。
除了将.wgetrc
文件复制到特定文件夹之外,我只需要配置该.wgetrc
文件。
我打开了 wgetrc
配置文件/etc/wgetrc
并编辑代理如下:
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
https_proxy = http://127.0.0.1:3030/
http_proxy = http://127.0.0.1:3030/
ftp_proxy = http://127.0.0.1:3030/
# If you do not want to use proxy at all, set this to off.
use_proxy = on
瞧,cron 任务使用 wget 启用代理后完美运行
=)
答案2
我已经明白了!
wget
不仅从变量中读取设置,还从.wgetrc
我在root
目录中找到的文件读取设置。我cp
将此文件编辑到/usr/home/nstat
(nstat 是我的运行脚本的用户)并且它似乎工作了!