PHP小丑 发表于 2022-4-1 13:47:29

Linux下多线程下载工具MWget和Axel使用介绍

这篇文章主要介绍了Linux下多线程下载工具mwget和Axel的使用,都是基于命令行进行操作,需要的朋友可以参考下
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]
mwget速度截图如下:
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)

Saving to: “mongodb-linux-x86_64-2.4.5.tgz.1”



6% [==> ] 6,470,547 210K/s eta 6m 26s
wget速度截图如下
mwget用法:

代码如下:


# mwget -h

GNU MWget 0.1.0 ,a non-interactive and multiline network retriever of all POSTIX Systems.

Usage: mwget ... ...

Options:

-b, --debug Show the debug message

-c, --count=num Set the retry count to , no limit when "0", the default is "99"

-d, --directory=dir Set the local direcotry to , the default is "."

-f, --file=file Rename the file to

-h, --help A brief summary of all the options

-i, --interval=num Set the ftp retry interval to seconds, the default is "5"

-n, --number=num Use connections instead of the default (4)

-r, --referer=URL Include `Referer: ' header in HTTP request.

-t, --timeout=num Set the connection timeout to seconds, the default is "30"

-v, --version Show the version of the mwget and exit

-x, --proxy=URL Set the proxy
Mail bug reports and suggestions to <sa@kmlinux.tk><xiao_suo@hotmail.com>
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

代码如下:


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... ###########################################

1:axel ###########################################
yum安装Axel(方法二)

代码如下:


root@ttlsa # yum install axel
apt-get安装Axel
如果你是Ubuntu系统

代码如下:


root@ttlsa # axel -h

Usage: axel url1
--max-speed=x         -s x    最大速度 (字节/秒)
--num-connections=x   -n x    最大连接数
--output=f            -o f    指定文件名
--search[=x]            -S 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%] .......... .......... .......... .......... ..........

[ 1%] .......... .......... .......... .......... ..........

[ 1%] .......... .......... .......... .......... ..........

[ 1%] .......... .......... .......... .......... ..........
下载运维生存时间某图片

代码如下:


root@ttlsa # axel http://www.ttlsa.com/wp-content/uploads/2014/04/<a href="http://www.ttlsa.com/monitor/zabbix/" />
简单进度条

默认情况下,整个屏幕都是进度条,加上-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%] [ 3.2MB/s]
下载限速
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%] .......... .......... .......... .......... ..........

[ 0%] .......... .......... .......... .......... .......... [ 967.5KB/s]

[ 0%] .......... .......... .......... .......... .......... [ 943.8KB/s]

[ 0%] .......... .......... .......... .......... ..........

[ 0%] .......... .......... .......... .......... ..........
最后
完成,方法很简单,功能很简单。运维生存时间的服务器以及安装了axel,你的安装了吗?
http://www.zzvips.com/article/4670.html
页: [1]
查看完整版本: Linux下多线程下载工具MWget和Axel使用介绍