我正在使用wget将一些文件从一台服务器镜像到另一台服务器。 我正在使用以下命令:
wget -x -N -i http://domain.com/filelist.txt
-x =因为我想保持目录结构
-N =时间戳只能得到新的文件
-i =从外部文件下载文件列表,每行一个。
小文件,如一个我正在testing的326kb大下载就好了。
但是另一个是5GB只下载203MB然后停止(总是203MB给或几千字节)
显示的错误信息是:
无法写入到“path/ to / file.zip”
(我不知道为什么前后有奇怪的字符,我在Windows中使用腻子,这可能会或可能不会有什么关系,所以我把它们放进去了,我不假定)。
完整的回应如下:(我已经replacepath,IP和域名)
– 2012-08-31 12:41:19– http://domain.com/filelist.txtparsingdomain.com … MY_IP连接到domain.com | MY_IP |:80 …已连接。 发送HTTP请求,等待响应… 200 OK长度:161 [文本/纯文本]服务器文件不比本地文件更新âdomain.com/filelist.txtâ
– 2012-08-31 12:41:19 – http://domain.com/path/to/file.zip连接到domain.com | MY_IP |:80 …已连接。 HTTP请求发送,等待响应… 200 OK长度:5502192869(5.1G)[application / zip]大小不匹配(本地213004288) – 检索。
– 2012-08-31 12:41:19 – http://domain.com/path/to/file.zip连接到domain.com | MY_IP |:80 …已连接。 HTTP请求发送,等待响应… 200 OK长度:5502192869(5.1G)[application / zip]保存到:âdomain.com/ path / to /file.zipâ
3%[====>
] 23万3412 8.74M / s在24s无法写入âdomain.com/ path / to /file.zipâ
如果path目录已经存在或者正在创build,似乎没有任何区别。
有没有人有任何想法,为什么它停下来,我怎么能解决它?
任何帮助最受赞赏。
编辑:我也试过只做一个wget,没有文件input和重命名文件。 这一次它下载了一些超过3GB,然后给同样的不能写错误。
wget -x -N http://domain.com/path/to/file.zip -O files/bigfile.zip
这是一个长URL的问题。 我也面对它。 所以,我用bit.ly并缩短了url。 奇迹般有效!
如果磁盘空间不足,将会出现此错误。 运行df,你会看到你写的目录是否在100%
如果它开始保存一个大文件并写入203 MB,我会怀疑在接收端有一个完整的文件系统,或者networking连接超时。
您可以在接收服务器上使用df -h来查看文件系统是否已满
看看wget的超时问题的答案:
https://stackoverflow.com/questions/2291524/does-wget-timeout
另外,重新尝试失败的传输并省略-N时间戳选项
另外,运行ulimit -a来查看接收服务器上是否有文件大小限制
最后搞清楚了,这是一个空间问题。 这是1and1云服务器的问题,更多关于它在这里: http : //www.mojowill.com/geek/1and1-dynamic-cloud-server-disk-allocation/
我正在做类似于:
wget -x -N -i http://domain.com/filelist.txt
我正在收到:
--2016-12-09 07:44:23-- https://www.example.com/dir/details?abc=123&def=456 Resolving www.example.com (www.example.com)... 1.2.3.4 Connecting to www.example.com (www.example.com)|1.2.3.4|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] details?abc=123&def=456: No such file or directory Cannot write to 'details?abc=123&def=456' (Success).
在我的等价filelist.txt文件中,我有一个URL:
https://www.example.com/dir/details?abc=123&def=456
所以要debugging我试图创build相同的文件wget试图创build:
touch "details?abc=123&def=456" touch: cannot touch 'details?abc=123&def=456': No such file or directory
中提琴! 它看起来像? 是问题所在,但是好的做法是从文件名中删除所有特殊字符,想象一下如果没有转义,那么&会做什么。
我只是在wget之后的pipe道后添加了一个- tar命令
我有
wget https://example.com/path/to/file -O -|tar -xzf -C /path/to/file
然后改变它
wget https://example.com/path/to/file -O - | tar -xzvf - -C /path/to/file