提示:bat脚本使用有风险,请慎重考虑后再使用!!!

方法一:支持rsync的网站

对于常用的centos、Ubuntu、等使用官方yum源在 http://mirrors.ustc.edu.cn 都存在镜像。
同时 http://mirrors.ustc.edu.cn 网站又支持 rsync 协议, 可以通过rsync实现 镜像yum源。

  1. _______________________________________________________________
  2. | University of Science and Technology of China |
  3. | Open Source Mirror (mirrors.ustc.edu.cn) |
  4. |===============================================================|
  5. | |
  6. | Debian primary mirror in China mainland (ftp.cn.debian.org), |
  7. | also mirroring a great many OSS projects & Linux distros. |
  8. | |
  9. | Currently we don't limit speed. To prevent overload, Each IP |
  10. | is only allowed to start upto 2 concurrent rsync connections. |
  11. | |
  12. | This site also provides http/https/ftp access. |
  13. | |
  14. | Supported by USTC Network Information Center |
  15. | and USTC Linux User Group (http://lug.ustc.edu.cn/). |
  16. | |
  17. | Sync Status: https://mirrors.ustc.edu.cn/status/ |
  18. | News: https://servers.ustclug.org/ |
  19. | Contact: lug@ustc.edu.cn |
  20. | |
  21. |_______________________________________________________________|

在windows上使用rsync需要用到 cwRsync 下载地址是 https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip
其官网为 https://www.itefix.net/cwrsync
使用rsync的时候需要编写脚本,设置要同步的内容
在windows上搭建镜像yum站的方法(附bat脚本) - 图1
其中centos7_base.bat脚本内容 供大家参考:

  1. @echo off
  2. SETLOCAL
  3. SET CWRSYNCHOME=%~dp0
  4. IF NOT EXIST %CWRSYNCHOME%home\%USERNAME%\.ssh MKDIR %CWRSYNCHOME%home\%USERNAME%\.ssh
  5. SET CWOLDPATH=%PATH%
  6. SET PATH=%CWRSYNCHOME%bin;%PATH%
  7. rsync -av --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /cygdrive/f/yum/nginx/html/centos/7/os/x86_64/

方法二:使用wget命令下载不支持rsync协议的源

  1. 由于线上跑的系统还有CentOS5.46.46.56.56.66.8,而各镜像站维护的最早的版本已经是6.9,所以需要爬archive站点的rpm包来自建yum仓库。
  2. # wget -r -p -np -k http://archives.fedoraproject.org/pub/archive/epel/5Server/x86_64/
  3. # wget -r -p -np -k http://archives.fedoraproject.org/pub/epel/6Server/x86_64/
  4. -c, --continue resume getting a partially-downloaded file. 断点续传
  5. -nd, --no-directories don't create directories. 不创建层级目录,所有文件下载到当前目录
  6. -r, --recursive specify recursive download. 递归下载
  7. -p, --page-requisites get all images, etc. needed to display HTML page.
  8. 下载页面所有文件,使页面能在本地打开
  9. -k, --convert-links make links in downloaded HTML or CSS point to local files.
  10. 转换链接指向本地文件
  11. -np, --no-parent don't ascend to the parent directory. 不下载父级目录的文件
  12. -o, --output-file=FILE log messages to FILE. 指定日志输出文件
  13. -O, --output-document=FILE write documents to FILE. 指定文件下载位置
  14. -L, --relative follow relative links only. 只下载相对链接,如果页面嵌入其他站点不会被下载

windows上wget命令使用方法
  下载:http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe
  官网:http://gnuwin32.sourceforge.net/packages/wget.htm
安装
双击即可安装,安装到目录:D:\GnuWin32
    在windows上搭建镜像yum站的方法(附bat脚本) - 图2
修改环境变量
    右键计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 GNU_HOME=D:\GnuWin32\bin
    在windows上搭建镜像yum站的方法(附bat脚本) - 图3
添加path变量,在cmd中可以使用wget命令。 PATH=;%GNU_HOME%
    在windows上搭建镜像yum站的方法(附bat脚本) - 图4

  1. c:\>wget -V
  2. SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
  3. syswgetrc = D:\GnuWin32/etc/wgetrc
  4. GNU Wget 1.11.4
  5. Copyright (C) 2008 Free Software Foundation, Inc.
  6. License GPLv3+: GNU GPL version 3 or later
  7. <http://www.gnu.org/licenses/gpl.html>.
  8. This is free software: you are free to change and redistribute it.
  9. There is NO WARRANTY, to the extent permitted by law.
  10. 最初由 Hrvoje Niksic <hniksic@xemacs.org> 编写。
  11. Currently maintained by Micah Cowan <micah@cowan.name>.

提供web服务
同时提供web服务需要用到nginx
nginx 下载 页面 http://nginx.org/en/download.html
附:nginx 配置文件

  1. worker_processes 1;
  2. events {
  3. worker_connections 1024;
  4. }
  5. http {
  6. include mime.types;
  7. default_type application/octet-stream;
  8. sendfile on;
  9. keepalive_timeout 65;
  10. server {
  11. listen 80;
  12. server_name localhost;
  13. location / {
  14. autoindex on;
  15. root html;
  16. index index.html index.htm;
  17. }
  18. }
  19. server {
  20. listen 80;
  21. server_name repo.zabbix.com;
  22. location / {
  23. autoindex on;
  24. root html/zabbix;
  25. index index.html index.htm;
  26. }
  27. }
  28. server {
  29. listen 80;
  30. server_name sp.repo.webtatic.com mirror.webtatic.com;
  31. location / {
  32. autoindex on;
  33. root html/webtatic;
  34. index index.html index.htm;
  35. }
  36. }
  37. }

最后使用浏览器访问

  在windows上搭建镜像yum站的方法(附bat脚本) - 图5
在linux服务器中设置解析

  1. [root@m01 ~]# cat /etc/hosts
  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com
  5. 附件:

附件:

cwrsync + 全部 bat 脚本 https://files.cnblogs.com/files/clsn/cwRsync.rar
nginx + 配置文件 https://files.cnblogs.com/files/clsn/nginx.zip