大文件上的aria2c超时错误,但下载大部分文件

时间:2016-05-18 09:43:49

标签: aria2

我昨天在superuser发布了这个,但也许在这里更好。如果我不对,我道歉。

我正在尝试使用aria2c来解决以下ubuntu 14.04命令运行问题。基本上下载开始并且还剩下大约30分钟,然后出现超时错误错误。正在下载的文件是25GB,并且通常使用循环下载多个文件。有什么建议可以提高效率和稳定性吗?目前,每个文件下载大约需要4个小时,只要没有错误就可以。我也得到一个带有部分下载文件的aria2c文件。谢谢你:)。

aria2c -x 4 -l log.txt -c -d /home/cmccabe/Desktop/download --http-user "xxxxx"  --http-passwd xxxx xxx://www.example.com/x/x/xxx/"file"

我为标签道歉,因为我无法创建新标签,这是最接近的标签。

1 个答案:

答案 0 :(得分:1)

您可以编写循环来重新运行aria2c,直到下载所有文件(请参阅此gist)。

基本上,您可以将所有链接放在一个文件中(例如list.txt):

http://foo/file1
http://foo/file2
...

然后运行loop_aria2.sh

#!/bin/bash
aria2c -j5 -i list.txt -c --save-session out.txt
has_error=`wc -l < out.txt`

while [ $has_error -gt 0 ]
do
  echo "still has $has_error errors, rerun aria2 to download ..."
  aria2c -j5 -i list.txt -c --save-session out.txt
  has_error=`wc -l < out.txt`
  sleep 10
done

aria2c -j5 -i list.txt -c --save-session out.txt将并行下载5个文件(-j5)并将失败的文件写入out.txt。如果out.txt不为空($has_error -gt 0),则重新运行相同的命令以继续下载。 aria2c的-c选项将跳过已完成的文件。

PS:另一个更简单的解决方案(没有检查错误),如果你不介意的话,只运行aria2 1000次;)

seq 1000 | parallel -j1 aria2c -i list.txt -c