Ubuntu多线程下载问题

Ubuntu单系统从数据库下载超大数据库

Ubuntu系统使用数据库网站上提供的Shell Script (Linux),通过Termial,按提示输入用户名和密码后便可下载数据。也可是使用fireforx浏览器登陆后下载功能直接下载。但是预计需要93个小时才能下载完其中1个文件(1个平均100Gb,总共20+个文件)。

于是想尝试其它多线程下载工具,比如基于Aria2和cURL的uGet,或者使用wget等。但是,都只能下载一个命名为index的html文件。 问题可能在于如何获得真正的url地址。

希望在Ubuntu系统下,使用多线程工具下载数据库的所以文件,并且支持断点续传,否则很难快速下载整个数据库。请各位帮忙。非常感谢~~

mwget,支持多线程+断点续传

个人一直在用的是aria2c,比较了几款它的速度是最快的。如果能把所有URL放到一个文件里面的话,也可以实现很方便的批量下载,具体安装和使用方法如下

  1. 安装命令为sudo apt-get install aria2。
  2. 多线程下载的选项是-s num(num表示几个线程)。
  3. 断点续传的选项是-c。
  4. 指定下载链接文件的选项是-i。

以指定文件和不指定文件的下载方法分别进行举例:

  • 指定文件(把URL都放到一个txt文件内):aria2c -j 10 -i test_url.txt -s 10,-j表示同时对10个链接进行并行下载,本质上相当于多进程下载
  • 不指定文件下载:aria2c -s 10 URL

可以使用axel
axel参数介绍:

deepfuture@server-deepfuture1:~$ axel --h
Usage: axel [options] url1 [url2] [url...]

--max-speed=x -s x Specify maximum speed (bytes per second)
--num-connections=x -n x Specify maximum number of connections
--output=f -o f Specify local output file
--search[=x] -S [x] Search for mirrors and download from x servers
--header=x -H x Add header string
--user-agent=x -U x Set user agent
--no-proxy -N Just don't use any proxy server
--quiet -q Leave stdout alone
--verbose -v More status information
--alternate -a Alternate progress indicator
--help -h This information
--version -V Version information

Report bugs to submit@bugs.debian.org (using reportbug)
deepfuture@server-deepfuture1:~$
主要参数:

n:线程数

-o:指定本地输出文件