第一章rsync服务
1.1 rsync说明
rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据备份的优秀工具
1.2 本地备份方法
tar +定时任务
1.3 远程备份
Scp 只支持全量备份
Rsync (推荐) 增量备份
1.4 全量复制和增量复制的区别
全量:全部同步/复制、不论新旧
增量:只同步/复制新内容或有变化的内容
1.5 如何实现增量传输数据
1)利用rsync程序算法(判断数据属性信息是否一致),判断不同主机上的数据是否一致。
2)利用rsync程序算法(判断文件md5数值是否一致),判断不同主机上的数据是否一致。
1.6 利用rsync传输目录时
传输的目录后面如果存在 / == /oldboy_dir 表示将目录下面的数据内容进行全部传输
传输的目录后面如果不存在 / == /oldboy_dir 表示将目录本身和目录下面的数据内容进行全部传输
1.7 rsync的应用场景
不同服务器之间的数据备份:定时任务+rsync
存储服务器实时备份:sersync+rsync
1.8 rsync优点
01. 可以控制传输的连接数量(同一时刻)
02. 可以实现免交互方式进行传输数据
03. 具有单独的传输认证进制
第二章:rsync命令工作模式及参数
2.1 检查软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.1.2-4.el7.x86_64
CentOS 7 中rsync 默认安装
如果没有安装需要我们手动安装:yum install -y rsync
2.2 rsync 守护进程模式
编写配置文件
CentOS 7 中这个文件默认存在 我们需要在在这个文件中写入相关配置
**[root@backup ~]# vim /etc/rsyncd.conf**
###rsync_config
###created by lpc at 2019
##rsyncd.conf start##
uid = rsync
gid = rsync
fake super = yes
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 = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
cmment = "backup dir by oldboy"
path =/backup
**配置文件相关说明**
PS: 只要是一个守护进程服务, 都会存在配置文件
vim /etc/rsyncd.conf
#rsync_config
#created by lpc at 2019
##rsyncd.conf start## -- 注释信息
uid = rsync -- 管理备份目录(属主信息是rsync)
gid = rsync -- 管理备份目录(属组信息是rsync)
port = 873 -- 守护进程服务端口信息
fake super = yes -- 映射为root
use chroot = no -- 安全的配置
max connections = 200 -- 同时可以有多少客户端连接rsync服务器
timeout = 300 -- 超时时间,显示空闲连接存活时间
pid file = /var/run/rsyncd.pid --- 保存进程pid号码信息
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 -- 认证用户密码文件(信息:rsync_backup:oldboy123)
[backup] -- 模块信息
comment = "backup dir by oldboy" -- 模块注释说明信息
path = /backup -- 定义一个备份目录
添加进程管理用户
useradd rsync -s/sbin/nologin -M
创建一个虚拟用户、用于管理rsync服务
创建服务所需目录
chowm -R rsync.rsync /backup
不修改用目录所有者和所属组的话无法远程备份 ,会报错:权限拒绝
设置一个密码文件,进行免密交互
配置一个密码文件、用于免交互传输
echo "rsync_backup:oldboy123" > /etc/rsync.password
修改认证文件信息/权限
chmod 600 /etc/rsync.password
启动rsync服务
[root@backup ~]# systemctl start rsyncd
2.3客户端配置
查看软件是否安装
[root@nfs01 ~]# rpm -qa |grep rsync
rsync-3.1.2-6.el7_6.1.x86_64
设置一个密码文件,并把权限设置为600
[root@nfs01 ~]# echo 123456 >/etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
[root@nfs01 ~]# cat /etc/rsync.password
123456
[root@nfs01 ~]# ll /etc/rsync.password
-rw------- 1 root root 7 Jun 15 10:26 /etc/rsync.password
第三章 rsync参数
a
1. r递归复制
2. l复制软连接
3. t保持mtime
4. o保持所有者不变
5. g所属组不变
6. p权限
7. D复制特殊设备
v :显示同步过程
z:同步的时候进行压缩
delete(极其凶险)
1. 目标 必须和源一模一样
2. 从哪里来,到哪里去 一模一样
3. 我有,你没有,我给你。你有,我没有,你给我删了
exclide: 传输的时候排除某个文件
第四章rsync全网备份
客户端脚本设置
image.png
服务端脚本设置
image.png
网友评论