rsync守护进程方式实现数据备份存储
服务端部署过程
第一步:
确认软件是否安装
[[email protected] ~]# rpm -qa rsync
rsync-3.1.2-4.el7.x86_64
为防止配置文件出现错误,可以重新安装
[[email protected] ~]#yum reinstall rsync -y
第二步:
编写rsync配置服务配置文件
[[email protected] ~]# rpm -qc rsync
/etc/rsyncd.conf
/etc/sysconfig/rsyncd
补充:(centos6 默认没有rsync的配置文件, 需要手动创建 )
配置文件参数说明
[[email protected] ~]# vi /etc/rsyncd.conf
[[email protected] ~]# cat /etc/rsyncd.conf
#created by DK at 2019
##rsyncd.conf start##
uid = rsync 用于管理备份目录 默认用nobody
gid = rsync 用于管理备份目录 默认用nobody
port = 873 默认端口号
#fake super = yes
use chroot = no
max connections = 200 最大连接数 同时允许200个连接备份数据
timeout = 300 超时时间 当网络链路上没有数据传输时开始倒计时200s
lock file = /var/run/rsync.lock 控制并发数 只能是max connections参数指定的数量 超出后利用这个锁锁定
pid file = /var/run/rsyncd.pid 进程号码放到一个文件中
1)便于快速停止进程
2)可以用于判断服务是否启动
log file = /var/log/rsyncd.log 日志文件
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 数据传输路径 默认保存在backup目录(记得先创建)
补充:为避免有坑 建议删除文字解释
第三步:
创建虚拟用户rsync
[[email protected] ~]# useradd -s /bin/nologin -M rsync
第四步:
创建备份目录
[[email protected] ~]# mkdir -p /backup
第五步:
创建密码文件
[[email protected] ~]# echo "rsync_backup:oldboy123" >>/etc/rsync.password
[[email protected] ~]# ll /etc/rsync.password
-rw-r--r-- 1 root root 23 Jan 12 15:03 /etc/rsync.password
为保证其他用户查看不了此密码文件 修改权限为600
[[email protected] ~]# chmod 600 /etc/rsync.password
[[email protected] ~]# ll /etc/rsync.password
-rw------- 1 root root 23 Jan 12 15:03 /etc/rsync.password
第六步:
启动守护进程
[[email protected] ~]# systemctl start rsyncd.service
检查是否启动
[[email protected] ~]# systemctl is-active rsyncd.service
active
启动开机自启
[[email protected] ~]# systemctl enable rsyncd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
检查是否开机自启
```javascript
[[email protected] ~]# systemctl is-enabled rsyncd.service
enabled
第七步:
检查服务进程是否存在
[[email protected] ~]# ps -ef |grep rsync
检查服务进程端口信息
[[email protected] ~]# netstat -lntup |grep 873
第八步:
修改backup目录权限
[[email protected] ~]# chown -R rsync.rsync /backup/
[[email protected] ~]# ll -d /backup
drwxr-xr-x 3 rsync rsync 51 Dec 31 11:38 /backup
客户端部署过程
附:原理图
未完待续…