rsync守护进程服务端配置:

第一个历程: 下载安装软件
rpm -qa|grep rsync
yum install -y rsync 
第二个历程: 编写配置文件
man rsyncd.conf
vim /etc/rsyncd.conf 
###rsyncd.conf start##

uid = rsync       #--- 指定管理备份目录的用户  
gid = rsync       #--- 指定管理备份目录的用户组
port = 873        #--- 定义rsync备份服务的网络端口号
fake super = yes  #--- 将rsync虚拟用户伪装成为一个超级管理员用户 
use chroot = no   #--- 和安全相关的配置
max connections = 200  #--- 最大连接数  同时只能有200个客户端连接到备份服务器
timeout = 300          #--- 超时时间(单位秒)
pid file = /var/run/rsyncd.pid   #--- 记录进程号码信息 1.让程序快速停止进程 2. 判断一个服务是否正在运行
lock file = /var/run/rsync.lock  #--- 锁文件
log file = /var/log/rsyncd.log   #--- rsync服务的日志文件 用于排错分析问题
ignore errors                    #--- 忽略传输中的简单错误
read only = false                #--- 指定备份目录是可读可写
list = false                     #--- 使客户端可以查看服务端的模块信息
hosts allow = 172.16.1.0/24      #--- 允许传输备份数据的主机(白名单)
hosts deny = 0.0.0.0/32          #--- 禁止传输备份数据的主机(黑名单)
auth users = rsync_backup        #--- 指定认证用户 
secrets file = /etc/rsync.password   #--- 指定认证用户密码文件 用户名称:密码信息
[backup]                         #--- 模块信息
comment = "backup dir by oldboy"  
path = /backup                   #--- 模块中配置参数 指定备份目录

第三个历程: 创建rsync服务的虚拟用户
useradd rsync -M -s /sbin/nologin

第四个历程: 创建备份服务认证密码文件
echo "rsync_backup:oldboy123" >/etc/rsync.password
chmod 600 /etc/rsync.password

第五个历程: 创建备份目录并修改属主属组信息
mkdir /backup
chown rsync.rsync /backup/

第六个历程: 启动备份服务
systemctl start rsyncd
systemctl enable rsyncd
systemctl status rsyncd

需要熟悉rsync守护进程名称语法:
Access via rsync daemon:
客户端做拉的操作: 恢复数据
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
Pull:rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
客户端做推的操作: 备份数据
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
Push:rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

rsync守护进程客户端配置:

第一个历程: 创建一个秘密文件
echo "oldboy123" >/etc/rsync.password
chmod 600 /etc/rsync.password

第二个历程: 进行免交互传输数据测试
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

示例:

**客户端做拉的操作: 恢复数据**
这里既可以使用上面配置文件中的 auth users = rsync_backup 用户也可以使用linux主机上的用户比如root用户
root用户用法:
[root@nfs01 ~/tmp]#rsync -avz     root@172.16.1.41:/backup   ./  #就算把默认端口改了也可以传,把服务端服务停掉也可以,后面只能这样root@172.16.1.41:/backup,:后面跟服务端的目录或文件,./是数据保存到客户端的路径。
[root@nfs01 ~/tmp]#rsync -avz  -e "ssh -p22"  root@172.16.1.41:/backup  ./ #这是利用ssh服务传。
配置的rsync_backup用户用法:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
[root@nfs01 ~/tmp]#rsync -avz  rsync_backup@172.16.1.41::backup  ./  #172.16.1.41::backup,::后面跟模板名字
Pull: rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
[root@nfs01 ~/tmp]#rsync -avz    rsync://rsync_backup@172.16.1.41:87/backup  ./ #这是端口改873为87的写法172.16.1.41:87/backup,/后面跟模块名字。
 ::src: 备份服务器的模块信息
 [USER@]: 指定认证用户信息
 HOST: 指定远程主机的IP地址或者主机名称
 DEST: 数据保存到本地的路径信息
**客户端做推的操作: 备份数据**
root用户用法:
[root@nfs01 ~/tmp]#rsync -avz  /etc/hosts  root@172.16.1.41:/backup  
[root@nfs01 ~/tmp]#rsync -avz  -e "ssh -p22"  /etc/hosts root@172.16.1.41:/backup #这是利用ssh服务传。
配置的rsync_backup用户用法:
 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
 [root@nfs01 ~/tmp]#rsync -avz  /etc/hosts  rsync_backup@172.16.1.41::backup#用默认端口
 Push: rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
 [root@nfs01 ~/tmp]#rsync -avz   /etc/hosts  rsync://rsync_backup@172.16.1.41:87/backup  #rsync端口改了
 src: 要推送备份数据信息
 [USER@]: 指定认证用户信息
 HOST: 指定远程主机的IP地址或者主机名称
 ::DEST: 备份服务器的模块信息

总结:

1.用哪个用户就用相对应的密码。
2.用rsync端口传递就要用配置的用户和配置的模板。用其他端口就只能用root用户这种的方式传递,这时候rsync服务停了也不影响。

如:[root@nfs01 ~/tmp]#rsync -avz -e “ssh -p22” root@172.16.1.41:/backup ./

3.用root用户或者其他用户传,不能用模板。