我有一个 38GB 的“Moodle”tar 文件,需要从旧服务器(共享主机)传输,我们可以将其称为“服务器 A”到新服务器(专用虚拟)或“服务器 B”。如果有帮助,我在 Mediatemple。
我已经将目录压缩并使用 wget 通过 SSH 将其传输到服务器 B,但是 - 这是一个微不足道的 100GB 包,而且我的磁盘容量为 96% - 这意味着我无法在服务器 B 上解压缩文件!有什么方法可以将这个巨大的文件从服务器 A 传输到服务器 B,同时保留权限并尽量减少文件损坏的可能性,这不会使我达到磁盘限制吗?
虽然到目前为止我已经花了很长时间做这件事,但如果有人能提供更好的主意,我愿意放弃我原来的计划——我将不胜感激!
我正在尝试下载两个站点以包含在 CD 中:
http://boinc.berkeley.edu/trac/wiki
http://www.boinc-wiki.info
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是这些都是维基。所以当下载时,例如:
wget -r -k -np -nv -R jpg,jpeg,gif,png,tif http://www.boinc-wiki.info/
Run Code Online (Sandbox Code Playgroud)
我确实得到了很多文件,因为它也遵循诸如 ...?action=edit ...?action=diff&version=... 之类的链接
有人知道解决这个问题的方法吗?
我只想要当前页面,没有图像,没有差异等。
PS:
wget -r -k -np -nv -l 1 -R jpg,jpeg,png,gif,tif,pdf,ppt http://boinc.berkeley.edu/trac/wiki/TitleIndex
Run Code Online (Sandbox Code Playgroud)
这适用于伯克利,但 boinc-wiki.info 仍然给我带来麻烦:/
缴费灵:
我得到了似乎最相关的页面:
wget -r -k -nv -l 2 -R jpg,jpeg,png,gif,tif,pdf,ppt http://www.boinc-wiki.info
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个 php 应用程序的静态镜像(特别是旧的 php Gallery 安装)。该应用程序生成 URL,例如:
view_album.php?set_albumName=MyAlbum
Run Code Online (Sandbox Code Playgroud)
wget将这些直接下载到名称相同的文件中,并带有问号。为了不破坏入站链接,我想保留这些名称。但我如何为他们服务?我遇到了两个问题:
网络服务器(正确地)尝试查找“view_album.php”,并将查询参数传递给它,而不是查找带有问号的文件。如何告诉网络服务器查找其中带有问号的文件?重命名文件是不可取的,因为它会破坏入站链接。我不能告诉入站链接器对他们的 URL 进行 %-encode。
这些文件不以 HTML 结尾,因此大多数网络服务器不会发送 html 内容类型标头。我应该寻找哪些配置参数来告诉它为目录中的所有文件强制使用“text/html”内容类型或匹配特定模式?
我最终使用的是 lighttpd,但是如果您知道什么样的配置可以使用 apache/nginx 获得所需的结果,我也很想听听。
为了自动化的东西,我需要递归下载一个网页。我正在使用 wget,因为它可能是对程序员最友好的工具,使用 -r 标志来触发链接跟踪。
wget,但是,不处理漂亮的网址,即http://webpage/index.php/my/pretty/link,将它们视为子目录。
这个问题有解决方案吗?(我宁愿不修改该网页的源代码)
干杯,MH
编辑:问题解决
感谢您有见地的回复!
我已经设法解决了这个问题——不过,通过对提到的网页进行小幅修改。
我所做的很简单:我使用了服务器的 url 重写功能并将 url 从http://webpage/my/pretty/link重定向到http://webpage/index.php/my/pretty/link。然后,使用以下 wget 标志:
wget --mirror --page-requisites --html-extension --convert-links http://webpage/
Run Code Online (Sandbox Code Playgroud)
瞧!这一切都完美无缺(在此过程中仍然创建了目录,但从这一点开始使用某种脚本处理它是微不足道的)。
我正在尝试下载多个文件并需要在下载时重命名,我该怎么做并指定我希望它们下载到的目录?我知道我需要使用 -P 和 -O 来做到这一点,但它似乎对我不起作用。我正在将它写入一个 php 脚本并在 unix 上运行。
有没有人知道 curl 和 wget 的任何替代方案?我正在寻找的关键功能要求是能够针对已知 URL 执行 HTTPS GET 请求。
我正在寻找替代方案的原因很简单,因为我正在尝试从当前没有安装 wget 或 curl 的服务器执行连接测试。有关的服务器受到严格的变更控制,因此在其上安装新软件是禁忌。
服务器上安装的操作系统是AIX。
使用 wget 获取文件时出现以下错误:
Issued certificate not yet valid.
To connect to www.atlassian.com insecurely, use ‘--no-check-certificate’.
Run Code Online (Sandbox Code Playgroud)
使用 openssl 进行测试会返回类似的消息:
Verify return code: 9 (certificate is not yet valid)
Run Code Online (Sandbox Code Playgroud) 我试图解决奇怪的问题 - wget 获取文件,将其保存到磁盘并挂起。以下是详细信息:
wget --server-response --ca-directory=/etc/ssl/certs --no-dns-cache -T 1 --read-timeout=1 --header="Connection: close" https://api.vk.com/method/users.get?uids=1&fields=first_name,last_name,photo,photo_big
Run Code Online (Sandbox Code Playgroud)
详细日志:
Setting --server-response (serverresponse) to 1
Setting --ca-directory (cadirectory) to /etc/ssl/certs
Setting --dns-cache (dnscache) to 0
Setting --timeout (timeout) to 1
Setting --read-timeout (readtimeout) to 1
Setting --header (header) to Connection: close
DEBUG output created by Wget 1.11.4 on linux-gnu.
--2015-05-06 10:44:04-- https://api.vk.com/method/users.get?uids=1
Resolving api.vk.com... 87.240.131.117, 87.240.131.118, 87.240.131.119, ...
Connecting to api.vk.com|87.240.131.117|:443... connected.
Created socket 3.
Releasing 0x0000000001b6d5e0 (new refcount 0).
Deleting unused 0x0000000001b6d5e0.
Initiating SSL …Run Code Online (Sandbox Code Playgroud) 我有一个脚本每隔几分钟检查一次我的公共 IP 地址。
问题是ISP有时会给我缓存的页面(我知道,我已经使用了wget中的所有相关参数,ISP是由一群无能的某人组成的,他们显然制作了自己的超高效缓存服务器)或我自己的路由器制作的错误页面。
结果,当 wget 应该保存我的 IP 地址时,它却保存了错误页面。
编辑:
我用什么来检测IP地址的变化
http://paste.debian.net/292602/
我们注意到 Amazon Linux 2 上的 wget 是 v1.14,但在较旧版本的 Amazon Linux 上,它是 v1.18。
知道为什么会这样吗?我很确定我们在这两种情况下都是从 yum 安装的。
有没有办法让 yum 在 Amazon Linux 2 下安装更现代的 wget?
Amazon Linux 1 上的“repoquery -i wget”:
Name : wget
Version : 1.18
Release : 5.30.amzn1
Architecture: x86_64
Size : 2497696
Packager : Amazon.com, Inc. <http://aws.amazon.com>
Group : Applications/Internet
URL : http://www.gnu.org/software/wget/
Repository : amzn-updates
Summary : A utility for retrieving files using the HTTP or FTP protocols
Source : wget-1.18-5.30.amzn1.src.rpm
Run Code Online (Sandbox Code Playgroud)
在 Amazon Linux 2 上:
Name : …Run Code Online (Sandbox Code Playgroud)