原来我的御用下载完关键软件是Firefox的DownThemAll配合Auto Shutdown插件,但Firefox4就比较悲剧,因为Auto Shutdown插件开发者不继续维护了<IMG title="Ubuntu/Debian axel+脚本实现『下载完关机』” alt=”Ubuntu/Debian axel+脚本实现『下载完关机』” src=”http://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___6706EN00SIGG.gif” TYPE=”face”>。
Google之后发现原来Linux下有个叫『axel』的轻量级下载器,基于命令行,支持多线程、断点续传等多种功能,也有前端程序叫做『axel-kapt』。
其实我需要axel这个软件也就是为了解决下载完关机问题,因此也不需要前端了,就命令行用用可以了。
『如何实现下载完关机』
看这篇文章的多数童鞋们可能都是为了寻找直观的答案来的,所以我就先说解决方法,至于参数的含义我都作为附录了。
您也可以使用 man axel 来查看具体命令。
Ubuntu /Debian 中关机功能是由调用 /sbin/shutdown 来实现的,首先,需要开通执行它的权限,我就比较懒了,设置为所有人都可以运行此命令:
$ sudo chmod a+x /sbin/shutdown
之后新建一个文本文档,其中的内容为:
“
cd /<存放下载文件的目录>/
axel -n 10 -a file-url1 file-url2 ……. # 10线程,不以刷屏形式显示下载进度
cd /<另一个存放下载文件的目录>/ #存放电影的文件,或者资料的文件,需要放在不同的目录中,根据您的喜好来设置。
axel -n 10 -a file-url-1 file-url-2 …….
sudo /sbin/shutdown -P now # 关机命令
“
我就把他取名为shad(shutdown after downloading),存放在桌面上。
下次睡前要下载什么文件,譬如下载64位Ubuntu的iso,我的脚本就如下:
“
cd /path/to/ubuntu/iso/
axel -n 10 -a http://releases.ubuntu.com/10.10/ubuntu-10.10-alternate-amd64.iso
sudo /sbin/shutdown -P now
“
然后打开终端:
cd ~/桌面 && sh ./shad
这个文件可以反复利用,下次下载其他文件时,只需要修改其中的file-url就可以了。
好了,就关掉显示器,安心地睡觉吧!
我也去睡了,就让电脑在下载完Ubuntu 64位版后自动关闭吧。
以下为 axel 帮助文档节选内容:
名
Axel – Linux 下轻量的下载加速器。
总
axel [选项] url1 [url2] [url…]
描
Axel 是一个通过多个连接从一个 HTTP 或 FTP 服务器下载文件的程序,每个连接下载文件的一部分。
跟其它程序不一样, Axel 会使用单一线程直接下载所有数据到目标文件。
这样正好可以节省时间,因为程序没有必要如锁链般连接到所有要下载的部分。
选
必需要有一个参数–您想下载的文件的 URL 。当从 FTP 下载,文件名可能包含通配符,程序会尝试解析完整的文件名。
也可以指定多个 URL ,程序将会通过那些地址下载。请注意,程序不会检查文件是否相同。
其它选项:
–max-speed=x, -s x
您可以在这里指定一个速率(每秒字节,B/s), Axel 将会尝试保持平均速率在这个速率附近。它很有用──如果您不想程序吃掉您所有的带宽。
–num-connections=x, -n x
您可以在这里指定一个最终连接数。
–output=x, -o x
下载的数据将会被保存为一个跟 URL 地址文件名同名的本地文件,除非您使用这个选项指定使用一个不一样的名字。
您也可以指定一个目录,程序将会追加文件名。
–search[=x], -S[x]
Axel 能使用 filesearching.com 搜索引擎,对镜像执行搜索。您使用这个选项它才会这么做。
您也可以指定应该使用多少个不同的镜像来下载。
对镜像搜索非常耗时,因为程序会测试每个服务器的速率,与及文件是否仍然有效。
–no-proxy, -N
不使用代理服务器下载文件。当然,当一个透明代理是有效时,这是不可能的。
–verbose
如果您想看到更多的状态信息,您可以使用这个选项。如果您想看到更多,就使用它多几次。
–quiet, -q
不输出到标准输出(stdout)。
–alternate, -a
这将会显示一个文本进度指示器。一个显示不同线程进度和状态,当前速率和评估剩余下载时间的棒形图。
–help, -h
一个对所有选项的简洁摘要。
–version, -V
获取版本信息。
例
axel ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
它将会使用 Belgian 、 Dutch 、 English 和 German 的 kenel.org 镜像下载 Linux 2.4.17 kernel 映象。
axel -S4 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
它将会在 filesearching.com 搜索 linux-2.4.17.tar.bz2 文件,然后从四个(如果可能的话)最快的镜像中下载(可能包括 ftp.kenel.org )。
(当然,这个命令是一个独立行,但他们太长而不能在这个页面内显示为一行。)
让 Gentoo GNU/Linux 的 Portage 软件包管理器调用 Axel 来下载,把下面的命令添加进 /etc/make.conf 。
FETCHCOMMAND=’/usr/bin/axel -a -o “${DISTDIR}/${FILE}.axel” “${URI}” && mv “${DISTDIR}/${FILE}.axel” “${DISTDIR}/${FILE}”‘
RESUMECOMMAND=”${FETCHCOMMAND}”
Ubuntu/Debian axel+脚本实现『下载完关机』
转载请注明出处:服务器评测 » Ubuntu/Debian axel+脚本实现『下载完关机』