Windows下利用cwRsync同步Linux源并排除目录

  1. 1. 下载软件
  2. 2. 软件使用

接触Linux的开发者一定知道国内源的意义是啥。

本文的目的是想要在本地建立一个Linux的源,同时排除老旧的版本。为方便起见,本文使用CentOS为例,使用了清华大学的源做为数据来源。

下载软件

本例使用的是cwRsync这个软件,仅使用客户端即可。搜索引擎说官网有免费版下载,然而我并没有找到。

没办法拿到官网最新的下载,退而求其次,搜索到v5.5.0这个版本。如果你能找到新版或者弄出来官网下载连接,请联系我,非常感谢!

软件使用

  1. 下载好软件,解压到你喜欢到地方,我解压到了
    1
    C:\cwRsync
  2. 建立排除文件
    我是在C:\cwRsync下建立了centos_excluded文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    2
    2.1/
    3
    3.1
    3.3
    3.4
    3.5
    3.6
    3.7
    3.8
    3.9/
    4
    4.0/
    4.1/
    4.2/
    4.3/
    4.4/
    4.5/
    4.6/
    4.7/
    4.8/
    4.9/
    5
    5.0/
    5.1/
    5.10/
    5.11/
    5.2/
    5.3/
    5.4/
    5.5/
    5.6/
    5.7/
    5.8/
    5.9/
    6
    6.0/
    6.1/
    6.10/
    6.2/
    6.3/
    6.4/
    6.5/
    6.6/
    6.7/
    6.8/
    6.9/
    7
    7.0.1406/
    7.1.1503/
    7.2.1511/
    7.3.1611/
    7.4.1708/
    7.5.1804/
    RPM-GPG-KEY-CentOS-3
    RPM-GPG-KEY-CentOS-4
    RPM-GPG-KEY-CentOS-5
    RPM-GPG-KEY-CentOS-6
    RPM-GPG-KEY-CentOS-Debug-6
    RPM-GPG-KEY-CentOS-Security-6
    RPM-GPG-KEY-CentOS-Testing-6
    RPM-GPG-KEY-centos4
  3. 使用定时任务运行脚本

创建脚本文件:mirrors.bat

1
2
3
4
5
@echo off

C:\cwRsync\bin\rsync -alz --exclude-from=/cygdrive/c/cwRsync/centos_excluded rsync://mirrors.tuna.tsinghua.edu.cn/centos/ /cygdrive/d/www/mirrors/centos/

mklink /D D:\www\mirrors\centos\7 D:\www\mirrors\centos\7.6.1810

然后利用Windows系统的。”计划任务”进行定时重复检查同步,当然了,你还需要一个Http服务器,这个网上一大堆,各种个样的实现方法,我就不复制粘贴了。

  1. 配置客户端
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak


    cat <<EOF >> /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base
    baseurl=http://192.168.1.80/mirrors/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    baseurl=http://192.168.1.80/mirrors/centos/$releasever/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    baseurl=http://192.168.1.80/mirrors/centos/$releasever/extras/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    baseurl=http://192.168.1.80/mirrors/centos/$releasever/centosplus/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    EOF