wget 在 cron 下看不到代理

wget 在 cron 下看不到代理

我是 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 是我的运行脚本的用户)并且它似乎工作了!

相关内容