wget开始下载然后停止“不能写入”

我正在使用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