1. 系统环境
- 服务器端: CentOS Linux release 7.8.2003 (Core)
- 客户端: Win10
2. 安装环境
- 服务器端:
yum install -y rsync
- 客户端: 官网下载 cwRsync
3. 环境配置
- 服务器端:
使用vi /etc/rsyncd.conf
编辑配置文件:
uid = root
gid = root
max connections = 2
pid file = /var/run/rsyncd.pid
log file = /var/log/rsynd.log # 生成日志文件
timeout = 900
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.reb *.bz2
[test01] # 创建实例模组
path = /share/home/yx/MDS/ # 服务器端同步路径
list = yes
read only = no
comment = backup by yx
secrets file = /etc/rsyncd.passwd # 服务器端
auth users = Sure # 客户端登录时用到
使用vi /etc/rsyncd.passwd
创建模组密码,内容格式,登录用户名和密码用冒号分开就行:
Sure:123456
创建完成后更改该文件权限,必须为root:
#更改文件权限
chmod 600 /etc/rsyncd.passwd
配置好后启动服务:
systemctl start rsyncd
并检查服务是否正常:
systemctl status rsyncd
监听任务ing:
- 客户端:
连接服务器端同步文件,至windows的D盘文件夹下的某个目录中
rsync.exe -avz Sure@服务器端ip地址::test01 /cygdrive/d/所同步到的文件夹名/
pause
若不想手动输入密码,则在win10安装的bin目录下保存rsyncd.password
文件
rsync.exe -avz --password-file=rsyncd.password Sure@服务器端ip地址::test01 /cygdrive/d/所同步到的文件夹名/
如果想同步服务器端一模一样所有文件,则需要在源地址和目的地址前面添加--delete
:
rsync.exe -avz --delete --password-file=rsyncd.password Sure@服务器端ip地址::test01 /cygdrive/d/所同步到的文件夹名/
pause
可能会存在的问题:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1503) [Receiver=3.0.6]
解决:这个问题错误差别很大,可查看系统日志查看错误,再搜索解决方法。
注意:一般这种情况都建立在可以连通的基础。去服务端查看系统日志,可以查看相关错误。
命令:
cat /var/log/rsyncd.log
password file must not be other-accessible
continuing without password file
Password:
原因:
这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd
rsync.exe -avz --delete Sure@1xx.xx.xx.xx::MDS /cygdrive/d/Sure/MDS/
pause