目前有一个奇怪的情况:wget只对系统上的一个用户有效——而 root 不是。
共有三个用户帐户,用户 A、B 和 root。用户 A 可以毫无问题地使用wget。用户 B 和 root 接收连接超时wget。这会导致类似的问题apt-get-- 用户 A 可以成功安装更新,而用户 B 和 root 在最初下载文件时会超时。
有任何想法吗?这是一个 Ubuntu 系统。没有启用防火墙。
为什么这个 cron 作业会随着时间的推移重复执行,我该怎么做才能阻止它?
我有一个应该在每天早上 4 点运行的 cron 工作。它击中了一个 php 脚本,该脚本执行一些日常数据分析,并在正常情况下运行一次(大约需要 2-3 分钟才能完成)并退出。它一直在工作,但最近它在服务器崩溃的时候运行得很糟糕。我调查并发现了以下内容。crontab 条目如下所示:
* 4 * * * /usr/bin/wget -q -O /dev/null 'http://123.456.78.90/index/thing?param=1'
Run Code Online (Sandbox Code Playgroud)
在我的日志文件中,我看到:
123.456.78.90 - - [28/Nov/2012:04:00:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
123.456.78.90 - - [28/Nov/2012:04:01:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
123.456.78.90 - - [28/Nov/2012:04:02:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
// and then later it ends with (note that it isn't trying every minute now)
123.456.78.90 - …Run Code Online (Sandbox Code Playgroud) 我有一个 crontab 作业设置。在 crontab 文件中,我有一个文本文件的路径。我的文本文件有一个 wget 命令(它依次执行一个 PHP 文件)。如果 crontab 文件只有文本文件的路径,它会自动重击(执行)该文本文件吗?或者我是否需要使用 bash 为文本文件的路径添加前缀?
我目前有 2 个负载平衡的 Ubuntu 12.04 服务器。如果我从 shell 去找任何人并输入:
wget stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
该页面被提取到index.html. 但是,假设托管在这些服务器上的站点称为mysite.com,则调用
wget mysite.com
Run Code Online (Sandbox Code Playgroud)
我得到:
Resolving mysite.com (mysite.com)... 50.XXX.YY.ZZZ
Connecting to mysite.com (mysite.com)|50.XXX.YY.ZZZ|:80... failed: Connection refused.
Run Code Online (Sandbox Code Playgroud)
50.XXX.YY.ZZZ的公共 IP在哪里mysite.com。任何想法在这些服务器上有什么问题?
我想下载一个大文件是.tar.gz和(> 2GB)的大小。bash 脚本还做了很多其他的事情,所以我想开始下载,然后继续处理 bash 脚本中的其他命令。我正在使用wget并通过管道tar在后台运行它&。
wget -q "https://download-of-large-file-here.tar.gz" | tar xz &
# other commands here
Run Code Online (Sandbox Code Playgroud)
然而,这打破了:
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)
知道如何进行这项工作吗?
当我运行此命令时,它按预期工作:
wget -p https://www.google.com/
Run Code Online (Sandbox Code Playgroud)
运行此命令后,我检查错误代码
echo $?
Run Code Online (Sandbox Code Playgroud)
这将返回 0,表示上次运行的命令没有遇到任何错误。
现在我运行:
wget -p https://www.google.com/ >/dev/null
Run Code Online (Sandbox Code Playgroud)
最后一个命令应该抑制标准输出 - 但它没有。那么发生了什么?这几乎似乎是 wget 特有的,因为我以前从未在使用其他命令时遇到过管道标准输出的问题。
还值得注意的是,如果您运行:
wget -p https://www.google.com/ 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
所有输出都被抑制。有人会关心启发一个困惑的人吗?
wget ×6
cron ×2
linux ×2
apache-2.2 ×1
bash ×1
connection ×1
gnu ×1
gzip ×1
networking ×1
php ×1
pipe ×1
tar ×1
timeout ×1
ubuntu ×1
users ×1