服务端:centos7 172.16.106.199
客户端:Windows10 172.16.106.143
服务端配置:
创建服务器要同步数据的目录 /tmp/rsync
mkdir /tmp/rsync
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
# [ftp]
# path = /home/ftp
# comment = ftp export area
#监听的端口
port=873
#日志
log file=/var/log/rsync.log
#pid文件
#pid file=/var/run/rsyncd.pid
#监听服务的IP(服务端本机的IP)
#address=172.16.106.199
#模块名
[test]
#模块名所代表的的路径(目录必须存在)
path=/tmp/rsync
#是否限制跨越目录到其他路径下的权限 true代表限制 false代表不限制(主要是针对L选项是否能将软链接指向本级目录外的内容同步到本级目录)
use chroot=true
#服务最大连接数目 默认是0 即不限制
max connections=4
#是否只读
read only=no
#是否列出所有可用模块
list=true
#同步时文件所用的用户
uid=root
#同步时文件所用的组
gid=root
#登录的用户
auth users=root
#模块用户和对应的密码文件存放的地方 格式: 用户名:密码, 权限 600 这个密码文件是放在服务端
secrets file=/etc/rsyncd.passwd
#仅允许哪些IP连接该服务(客户端),缺省则允许所有IP
#hosts allow=172.16.106.143
root:123159
chmod 600 /etc/rsyncd.passwd
启动服务rsync --daemon(默认文件在/etc/rsyncd.conf)
(如果你的配置文件不是该目录下的rsyncd.conf,就要加上--config的选项
如: --config=/etc/rsyncd2.conf
命令:
rsync --daemon 或者 rsync -daemon --config=/etc/rsyncd.conf
注意:防火墙开放873端口(请确认selinux是关闭的)
客户端配置:
Windows工具:cwRsync
下载地址:https://itefix.net/dl/free-software/cwrsync_5.5.0_x86_free.zip
1.解压压缩包cwRsync_5.5.0_x86_Free.zip到D盘,顺便重命名文件夹为cwRsync
2.进入解压后的文件夹运行cwrsync.cmd生成home目录
3.在windows本地新建一个你要同步的目录rsync_backup作为我们同步数据的目录
4.在D:\cwRsync目录下创建一个记录密码的文件rsync.pass 内容是123159
写一个批处理文件:
在任意地方创建一个文本文件,并且把后缀名改成bat 另存为 ANSI 格式的bat(不然会乱码)
内容如下:(因为--password-file=D:/cwRsync/rsync.pass不生效,所以改成--password-file=/cygdrive/d/cwRsync/rsync.pass)
@echo off
echo 开始同步服务器/tmp/rsync/数据到本地rsync_backup目录下
cd d:\Rsync\bin\
d:
rsync.exe --port=873 -avzP --password-file=/cygdrive/d/cwRsync/rsync.pass root@172.16.106.199::test/ /cygdrive/d/rsync_backup/
echo 同步完成
pause
运行脚本,成功。