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)\cwRsync\bin>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)\cwRsync\bin 目录下。
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)\cwRsync\bin>" rsync -vzra --progress user1@172.16.2.36::testwork < passwd.txt /cygdrive/d/z >> d:\rsyncd.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分类: Windows, Rsync + inotify
# UTF-8指linux本地的编码,GBK指服务器端即windows编码格式。