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用户或者其他用户传,不能用模板。