我昨天在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"
我为标签道歉,因为我无法创建新标签,这是最接近的标签。
答案 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