歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux下多線程下載工具MWget和Axel使用介紹

Linux下多線程下載工具MWget和Axel使用介紹

日期:2017/3/1 17:32:36   编辑:Linux技術

linux運維在操作linux過程中,用得最多的linux下載工具想必一定是wget,沒有看到哪一台服務器沒裝過wget的,或許有人使用ftp下載,也有人使用多線程的axel以及ProZilla,毫無疑問這兩個工具都非常的出色,但是對於習慣使用wget的人來說顯得不適應,於是老外便開發了多線程版本的wget工具mwget,m表示multi多線程的意思.
mwget
官方地址:http://sourceforge.net/projects/kmphpfm/?source=dlp

復制代碼代碼如下:
# cd /usr/local/src/
# wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2
# tar -xjvf mwget_0.1.0.orig.tar.bz2
# cd mwget_0.1.0.orig
# ./configure
# make
# make install

configure過程中如果出現如下錯誤,請安裝大於等於0.35版本的intltool

復制代碼代碼如下:
checking for intltool >= 0.35.0... ./configure: line 6824: intltool-update: command not found
found
configure: error: Your intltool is too old. You need intltool 0.35.0 or later.
# yum install intltool

wget vs mwget速度測試
以下使用下載2.4.5版本的mongodb來取樣.
mwget速度測試

復制代碼代碼如下:
# mwget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz
Begin to download: mongodb-linux-x86_64-2.4.5.tgz
FileSize: 90M
36% [====> =====> ===> ====> ] [ 33M] [2.0M/s] [ETA:00:28]

mwget速度截圖如下:
20151227122724537.jpg (657×74)

wget速度測試

復制代碼代碼如下:
# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz
--2013-08-16 10:55:23-- http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz
Resolving fastdl.mongodb.org... 54.230.114.206, 54.230.113.36, 54.230.114.144, ...
Connecting to fastdl.mongodb.org|54.230.114.206|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 94827295 (90M) [application/x-tar]
Saving to: “mongodb-linux-x86_64-2.4.5.tgz.1”

6% [==> ] 6,470,547 210K/s eta 6m 26s

wget速度截圖如下
20151227122744563.jpg (650×155)

mwget用法:

復制代碼代碼如下:
# mwget -h
GNU MWget 0.1.0 ,a non-interactive and multiline network retriever of all POSTIX Systems.
Usage: mwget [Options]... [URL]...
Options:
-b, --debug Show the debug message
-c, --count=num Set the retry count to [num], no limit when "0", the default is "99"
-d, --directory=dir Set the local direcotry to [dir], the default is "."
-f, --file=file Rename the file to [file]
-h, --help A brief summary of all the options
-i, --interval=num Set the ftp retry interval to [num] seconds, the default is "5"
-n, --number=num Use [num] connections instead of the default (4)
-r, --referer=URL Include `Referer: [URL]' header in HTTP request.
-t, --timeout=num Set the connection timeout to [num] seconds, the default is "30"
-v, --version Show the version of the mwget and exit
-x, --proxy=URL Set the proxy [URL]

Mail bug reports and suggestions to <[email protected]><[email protected]>
On website bug reports and suggestions to <http://mwget.sourceforge.net/> <http://www.kmlinux.tk/>
We Welcome your BUG REPORT!

Axel
運維工作中,常常需要下載文件,因為網站下載速度限制或者網絡等原因導致下載讓人無法忍受,前面有介紹多線程wget工具mwget,提速不少,而且使用很簡單。axel使用的人更多,不僅僅安裝方法簡單,命令更簡單。往下看。
安裝Axel
RPM安裝Axel(方法一)
下載地址:http://pkgs.repoforge.org/axel/
如圖,選擇適合你服務器的RPM
20151227122806055.jpg (759×522)


復制代碼代碼如下:
root@ttlsa # wget http://pkgs.repoforge.org/axel/axel-2.4-1.el6.rf.x86_64.rpm
root@ttlsa # rpm -ivh axel-2.4-1.el6.rf.x86_64.rpm
Preparing... ########################################### [100%]
1:axel ########################################### [100%]

yum安裝Axel(方法二)

復制代碼代碼如下:
root@ttlsa # yum install axel

apt-get安裝Axel
如果你是Ubuntu系統

復制代碼代碼如下:
root@ttlsa # axel -h
Usage: axel [options] url1 [url2] [url...]

--max-speed=x -s x 最大速度 (字節/秒)
--num-connections=x -n x 最大連接數
--output=f -o f 指定文件名
--search[=x] -S [x] Search for mirrors and download from x servers
--header=x -H x 添加header
--user-agent=x -U x 設置用戶代理
--no-proxy -N 不使用任何代理
--quiet -q Leave stdout alone
--verbose -v 顯示更多狀態信息
--alternate -a 顯示簡單進度條
--help -h 幫助
--version -V 版本信息
axel使用實例
下載centos

復制代碼代碼如下:
root@ttlsa # axel http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
[ 1%] .......... .......... .......... .......... .......... [4654.5KB/s]
[ 1%] .......... .......... .......... .......... .......... [4657.1KB/s]
[ 1%] .......... .......... .......... .......... .......... [4656.5KB/s]
[ 1%] .......... .......... .......... .......... .......... [4659.3KB/s]

下載運維生存時間某圖片

復制代碼代碼如下:
root@ttlsa # axel http://www.ttlsa.com/wp-content/uploads/2014/04/<a href="http://www.ttlsa.com/monitor/zabbix/" title="zabbix"target="_blank">zabbix</a>-adduser-01.jpg
Initializing download: http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg
File size: 73009 bytes
Opening output file zabbix-adduser-01.jpg
Starting download</p> <p>root@ttlsa # axel http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg
Initializing download: http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg
File size: 73009 bytes
Opening output file zabbix-adduser-01.jpg
Starting download

[ 0%] .......... .......... .......... .......... .......... [ 598.0KB/s]
[ 70%] .......... .......... .
Connection 0 finished

Downloaded 71.3 kilobytes in 0 seconds. (710.02 KB/s)

簡單進度條
默認情況下,整個屏幕都是進度條,加上-a參數,進度條類似wget。

復制代碼代碼如下:
root@ttlsa # axel -a http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
Initializing download: http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
File size: 4467982336 bytes
Opening output file CentOS-6.5-x86_64-bin-DVD1.iso
Starting download</p> <p>[ 1%] [0 1 2 3 ] [ 3.2MB/s] [21:47]

下載限速
ttlsa的網站帶寬有限制,我要保證下載的同時又不影響用戶的訪問,例如限制為1MB/s的下載速度,如下可以看到速度基本保證在1MB以內。

復制代碼代碼如下:
root@ttlsa # axel -s 1024000 http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
Initializing download: http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
File size: 4467982336 bytes
Opening output file CentOS-6.5-x86_64-bin-DVD1.iso
State file found: 30522952 bytes downloaded, 4437459384 to go.
Starting download

,,,,,,,... .......... .......... .......... .......... [ 394.8KB/s]
[ 0%] .......... .......... .......... .......... .......... [ 689.2KB/s]
[ 0%] .......... .......... .......... .......... .......... [ 879.5KB/s]
[ 0%] .......... .......... .......... .......... .......... [ 974.5KB/s]
[ 0%] .......... .......... .......... .......... .......... [1086.4KB/s]
[ 0%] .......... .......... .......... .......... .......... [ 967.5KB/s]
[ 0%] .......... .......... .......... .......... .......... [ 943.8KB/s]
[ 0%] .......... .......... .......... .......... .......... [1021.0KB/s]
[ 0%] .......... .......... .......... .......... .......... [1066.1KB/s]

最後
完成,方法很簡單,功能很簡單。運維生存時間的服務器以及安裝了axel,你的安裝了嗎?

Copyright © Linux教程網 All Rights Reserved