单位的网速自从两个月前已经大踏步迈入“古巴时代”了,慢的令人发指啊!!!,虽说装软件的时候也不多,但总有要用的时候,还是先建一个本地epel源吧。 知道有个wget命令可以批量下载一些文件,但之前没怎么用过(专业菜鸟三十年,见谅手动斜眼),现在重新学习下怎么使用(为啥要说重新咧,本来就不会手动鄙视表情)。

现来将镜像使用的命令写到这,以防有跟我一样的专业小白等不及看完,这再吐槽下某云的服务器,居然不让使用wget镜像整个站点,原谅本人的纯洁,阿门~!

~]# wget -b -q -np -nH --cut-dirs=1 -r -c -L --exclude-directories=repodata,repoview --accept=rpm,gz,xml http://dl.fedoraproject.org/pub/epel/6/x86_64/ -P /var/www/

:可以将-P指定的目录改为服务器其他目录(建议大一点留个50G,毕竟软件还是挺多哒~)。

因为查阅了下一些前辈们的使用教程,原谅在下才疏学浅,他们说的那些话大都是官方文档上翻译出来的,看不懂╮(╯▽╰)╭,下面就将上边用到的一些选项来进行灰常业余的来说明下,以防以后用到忘了(完全是提醒自己啊,让各位肥牛们贱笑了)。

选项:

(1) -b,--background:将wget命令脱离终端而转入后台运行;

(2) -q:quiet,静默模式,不输出信息;

(3) -r,--recursive:指定递归下载,不使用此选项则无法下载目录内容。

(4) -np,--no-parent:不追溯父目录,这一选项保证在下载过程中只下载指定目录下的内容,而不去下载根目录下所有的内容。

  注:www.centos.com这个是做测试用的

示例:

~]# wget -np -r http://www.centos.com/pub/epel/7/x86_64/ -P /tmp/test

当指定np选项时,只会将x86_64目录下的所有内容下载到/tmp/test目录中。

(5) -nH,--no-host-directories:不创建主机目录。

示例:

~]# wget -np -r -nH http://www.centos.com/pub/epel/7/x86_64/ -P /tmp/test

加入-nH选项后不会在test目录中创建以www.centos.com命名的目录,而是在test目录中创建/pub/epel/7/x86_64目录。

(6) --cut-dirs=#:忽略掉#层远程目录,此选项的意思举例比较方便。

示例:

~]# wget --cut-dirs=1 -r http://www.centos.com/pub/epel/7/x86_64/ -P /tmp/test

当指定忽略层数为1时,在/tmp/test目录下会生成

www.centos.com

    |

    |—— epel

        |

        |—— 7

            |

            |——x86_64

这个类型的目录,将原来pub目录省略掉(等于原本创建在pub目录下的所有文件和目录直接创建在www.centos.com这个“根目录”下了)。

此选项的目的就是减少下载下来的内容的目录层数,原来的文件不会因为指定的层数而减少下载。

(7) -c,--continue:断点续传功能。

(8) -L,--releative:只跟踪有关系的链接。此选项对网页文件很重要,例如页面上的样式文件,就会将引用到的样式文件一并下载到本地。


(9)-X,--exclude-directories=LIST:排除指定列表中的目录。

示例:

~]# wget -r -c -L --cut-dirs=1 -np -nH -q -P /tmp/test/ --exclude-directories=*/x86_64/repodata/  http://www.centos.com/pub/epel/7/x86_64/

使用--exclude-directories选项,如果指定路径下有repodata这个目录则会将该目录中的内容忽略而不会下载。

注意:此处指定目录必须为绝对路径,*号表示URL最后一级目录前的路径,这个在手册中倒是没有体现(也有可能是没看懂)。

(10) -A,--accept=LIST:允许下载的文件的扩展名,有多个的话使用逗号分割开。

(11) -R,--reject=LIST:与-A功能相反。

(12) -N,--timestamping:这个选项相对也很重要,在建本地epel源时可以建一个脚本来定时向远程服务器下载程序包,使用-N选项就会本地与远程进行比对,服务器没有更新就会忽略掉相同的包。

(13)-l,--level=NUMBER:指定最大递归深度(NUMBER为info 或0表示无限大,即全部下载)。

经过测试,这个选项貌似没啥作用~!

(14)-o,--output-file=FILE:将下载时输出的显示信息可以保存至指定文件中,可以作为日志查询。

注意:使用此选项则需要将-q(静默模式)关闭。

做镜像的常用选项基本就这些,其他限制速度,ftp下载以及代理使用,这里没有用到,就暂且不提。