zoukankan      html  css  js  c++  java
  • windows 下的 Rsync 同步

    整理一下 windows 下的 rsync 文件同步。

    Rsync下载地址;

    链接:https://pan.baidu.com/s/1nL0Ee_u76ytWKUFMeiKDIw
    提取码:52in

    一、Server 端

    172.16.2.36  

    1、安装  cwRsyncServer_4.0.5_Installer.exe

    依据提示下一步下一步安装即可。安装成功之后 在服务里面找到  RsyncServer 服务;

    点开属性  登陆关系配置程 本地账户;(或者可以在安装时候 输入本机系统的账户密码)

    2、配置文件 rsync.conf;

    默认安装配置在  C:Program Files (x86)ICW

    配置参考:

    use chroot = false
    strict modes = false
    
    # read only = yes
    
    list = no
    hosts allow = 172.16.2.37
    # 指定地址才能进行同步 多个IP 或者网段 用空格隔开; max connections = 3
    # 最大链接 lock file = rsyncd.lock motd file = rsyncd.motd log file = /cygdrive/d/testwork/rsyncd.log
    # 日志目录 transfer logging
    = yes uid = 0 gid = 0 auth users = user1
    # 认证用户 secrets file
    = rsyncd.password
    # 认证密码 rsyncd.passwd 这个是自己创建。
    # 创建位置 没有指定路径、默认在C:Program Files (x86)ICW 安装目录下。 [testwork] path
    = /cygdrive/d/testwork
    # 需要同步的目录 d 盘 下的 testwork 目录
    # /cydrive/d/ 配置格式 d 盘符。 其他 F 盘符 就是换成 f read only
    = false transfer logging = yes

    3、创建配置文件中 认证密码 rsyncd.password 文件:

    user1:passwd

    4、注 服务端 172.16.2.36  需要开放 873 端口。

    二、Rsync 客户端同步:

    172.16.2.37 

    1、安装 cwRsync_4.0.5_Installer.exe

    默认也是 C:Program Files (x86)cwRsync

    因为前面配置有认证;需要配置一个 passwd 验证;

    2、rsync 同步

    同步示例:
    C:Program Files (x86)cwRsyncin>rsync -vzra --progress --bwlimit=200 --iconv=GB18030 --exclude="test*" --files-from="include.txt" user1@172.16.2.36::testwork < passwd.txt /cygdrive/d/testfile
    # --files-from  指定同步的路径  放在 include.txt 里说明
    # passwd.txt 认证密码
    # /cygdrive/d/testfile 同步到客户端本机的路径
    # --exclude "*test" # 排除test结尾文件
    # --exclude "file/file2" # 排除 file2 文件
    # --exclude-from=exclude.txt 指定排除的文件 放在 exclude.txt 里说明

    # txt 说明不指定路径,默认需要放置在 Rsync 默认安装的 C:Program Files (x86)cwRsyncin 目录下。

    rsync 命令参数:

    -v, --verbose    详细模式输出,详细显示数据传输备份情况
    -z, --compress    传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩。局域网可以不用压缩
    -a, --archive    归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于-rtopgDl
    -r, --recursive(属于-a参数)    对子目录以递归模式,即目录下的所有目录都同样传输
    -t, --times(属于-a参数)    保持文件时间属性信息
    -o, --owner(属于-a参数)    保持文件属主信息
    -p, --perms(属于-a参数)    保持文件权限
    -g, --group(属于-a参数)    保持文件属组信息
    -D, --devices (属于-a参数)    保持设备文件信息
    -l, --links(属于-a参数)    保留软链接(小写字母l)
    -P, --progress    显示同步的过程及传输时的进度等信息
    -e, --rsh=COMMAND    使用的信道协议(remote shell),指定替代rsh的shell程序。例如:ssh
    --exclude=PATTERN    指定排除不需要传输的文件信息
    --exclude-from=file    文件名所在的目录文件,即可以实现排除多个文件
    --bwlimit=RATE    实现数据传输过程限速传输,限制速率单位为kbytes

    3、创建 密码验证 passwd.txt

    passwd
    # 只输入一行密码即可。

    4、创建 指定同步目录文件 include.txt

    # 分行写每一个目录 只同步指定的目录
    a
    c/a
    d/a

    5、创建 排除目录文件 exclude.txt

    # 分行写每一个目录  排除以后目录同步
    a/log
    b/*.log
    c
    .[a-z]*    
    # 不备份以点开头的隐藏文件, 这个路径必须是一个相对路径,不能是绝对路径

    在windows 下 设置执行 批处理定时任务:

    C:
    cd "C:Program Files (x86)cwRsyncin>"
    rsync -vzra --progress user1@172.16.2.36::testwork < passwd.txt /cygdrive/d/z >> d:
    syncd.log

    # 切换 安装路径进行执行 cwRsync 命令
    # 执行记录日志到 rsync.log

    三、linux 系统下同步windows  中文乱码

    需要设置  密码文件  权限 当前用户的只读

    chmod 600 /etc/rsyncd.password

    1、如果windows系统同步linux系统时,rsyncd.conf 配置文件添加一行:

    charset = GBK

    在 windows下同步命令需要添加一个参数:

    --iconv=GBK,UTF-8
    # --iconv=GBK,UTF-8  
    # GBK指windows 本地的编码,UTF-8指服务器端linux的编码格式

    2、要是 linux系统同步windows系统 rsyncd.conf 配置文件添加:

    charset = UTF-8

    所以在 linux下同步命令需要添加一个参数:

    --iconv=UTF-8,GBK 
    # --iconv=UTF-8,GBK 
    # UTF-8指linux本地的编码,GBK指服务器端即windows编码格式。
  • 相关阅读:
    Vue中data数据,使用v-model属性绑定第三方插件(例如Jquery的日期插件)无法自动更新
    Mybatis的XML文件调用静态方法
    将博客搬至CSDN
    深入理解Java:类加载机制及反射
    JDBC中Statement与PreparedStatement的区别
    响应实体类
    MD5加密
    idea的注入和自动编译配置
    mybatis三剑客之插件---MyBatis plugins
    通过git从码云克隆项目到本地
  • 原文地址:https://www.cnblogs.com/sharesdk/p/10570884.html
Copyright © 2011-2022 走看看