Rsyncd 同步服务器的部署

首先安装rsyncd服务端

yum -y install rsync

 

配置rsyncd.conf配置文件

#############################################
#FileName:rsyncd.conf #
#Author:Alca #
#CTime:2020.06.04 #
#Function:Rsync services configuration file #
##############################################

uid = root
gid = root
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

ignore errors
read only = false
list=false
hosts allow = 10.11.16.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password

##############################################
# Block list #
##############################################

#[mhwz01]
#path =/home/Backup/mhwz/Uploads/
#
#[mhwz02]
#path =/home/Backup/mhwz/upload/
#
#[lhpb]
#path = /home/Backup/lhpb/
#
#[pbdb]
#path = /home/Backup/pbdb/
#
#[lhdb]
#path = /home/Backup/lhdb/

#[Logs]
#path = /home/Backup/zfrz/Logs
#
#[CustomLog]
#path = /home/Backup/zfrz/CustomLog
###############End############################

 

参数说明:

uid = root #运行RSYNC守护进程的用户
gid = root #运行RSYNC守护进程的组
use chroot = no #不使用chroot
max connections = 4 # 最大连接数为4
strict modes =yes #是否检查口令文件的权限
port = 873 #默认端口873

[backup] #这里是认证的模块名,在client端需要指定
path = /home/backup/ #需要做镜像的目录,不可缺少!
comment = This is a test #这个模块的注释信息
ignore errors #可以忽略一些无关的IO错误
read only = no# 只读
list = no #不允许列文件
auth users = hening #认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsync.pas #密码和用户名对比表,密码文件自己生成
hosts allow = 10.96.9.105,10.96.9.113#允许主机内容ip
hosts deny = 0.0.0.0/0 #禁止主机
#transfer logging = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

 

配置完成后首先编写用户验证文件

vim /etc/rsync.password  

rsync_backup:XXX@Rsync.20201106    前边是验证用户 后边是验证密码

chmod 600 /etc/rsync.password   这个文件一定要600权限 否则会报错

完成后直接启动

systemctl  start  rsyncd

 

客户端配置:

客户端只需要在 /etc/下创建一个 只需要同步密码的rsync.password即可  注意这个文件也需要是600权限

最后客户端编写同步脚本:

rsync -az --password-file=/etc/rsync.password /data/Backup/lhdb rsync_backup@10.11.16.14::lhdb

 

备注:

windows同步:

@echo off
cd C:\Program Files (x86)\cwRsync\bin
rsync -az --password-file=rsync.pass /cygdrive/D/Backup/ rsync_backup@192.168.32.5::file

windows同样需要修改认证用户权限

chmod.exe -c 600 rsync.password
chown.exe SvcCWRSYNC /cygdrive/c/etc/password.txt
SvcCWRSYNC为windows上的cwrsync-server安装时默认新建的一个用户。

客户端:
chmod.exe -c 600 /cygdrive/c/etc/password.txt
chown.exe administrator /cygdrive/c/etc/password.txt
chown.exe administrator rsync.pass
chmod.exe 600 rsync.pass

 

部分异常解决方案:

rsync error: error in rsync protocol data stream (code 12) at io.c(276) [sender=3.1.2]

密码文件需要 600权限 uid 最好设置为root
不需要创建rsync用户 直接用root 避免权限问题

[备忘][转]rsync使用时的常见问题
sync使用时的常见问题:

2、在服务器端的配置文件中添加:
gid 4294967295 (-1) is impossible to set on "/cygdriver/..."
uid = 0
gid = 0
fake super = yes

错误1: rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receiver=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务。开启服务。 或者开启了防火墙指定的端口无法访问。

错误2:@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。

错误3:@ERROR: failed to open lock file
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端配置文件 rsyncd.conf中添加 lock file = rsyncd.lock 即可解决。

错误4:@ERROR: invalid uid nobody
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.2]
解决:在rsyncd.conf文件中添加下面两行即可解决问题
UID = 0
GID = 0

错误5:@ERROR: auth failed on module test2
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=3.0.2]
解决:服务端没有指定正确的secrets file,请在 [test2]配置段添加如下配置行:
auth users = coldstar #同步使用的帐号
secrets file = rsyncd.secrets #密码文件

错误6:password file must not be other-accessible
解决:客户端的pass文件要求权限为600, chmod 600 /etc/rsync.pass 即可。

错误7:rsync: chdir /cygdrive/c/work failed
: No such file or directory (2)

解决:服务器端同步文件夹路径或名称写错了,检查path

posted @ 2020-11-24 14:50  岁月倾城CTO  阅读(184)  评论(0)    收藏  举报