1.1 rsync守护进程模式备份数据原理 (用户身份转换过程)
第一步: 客户端 --> 服务端 发送请求传输数据信息 执行命令 有认证用户信息 传输数据信息
第二步: 服务端 --> 客户端 接收到传输数据信息 审核认证用户
发送回复信息 需要认证密码
第三步: 客户端 --> 服务端 发送请求传输数据信息 发送认证密码信息第四步: 服务端 --> 客户端 发送确认信息
第五步: 客户端 --> 服务端 用户携带数据通过网络进行传输 需要对用户身份进行转换 --> rsync (配置文件指定)
第六步: 服务端 --> 客户端 发送数据存储完毕确认信息 将数据保存到备份目录中 备份目录权限属主为rsyn
2.1rsync命令参数说明:
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive
递归传输目录
-l, --links备份传输软链接文件保持属性不变
-L, --copy-links
备份传输软连接文件时,会将源文件内容信息进行传输备份
-p, --perms
保持权限信息不变 644 755
-t, --times
保持文件修改时间不变
-o, --owner
保持文件属主信息不变
-g, --group
保持文件属组信息不变
-D
保持设备文件属性信息不变
-v, --verbose
传输备份数据详细过程信息
-P
传输进度信息
-z, --compress
在传输数据时,对文件进行压缩传输
-bwlimit=RATE
限制传输速率
--password-file
实现免交互传输数据信息
--exclude
根据指定数据信息进行排除
--exclude-from
根据指定文件进行批量排除数据信息
--delete
同步目录数据信息时, 保证目录中数据信息一模一样
3.1客户端部署过程(rsync)
第一个里程: 创建生成密码文件
echo oldboy123 >/etc/rsync.password
chmod 600 /etc/rsync.password
第二个里程: 实现免交互传输数据
rsync -avz /oldboy/oldboy.txt [email protected]::backup --password-file=/etc/rsync.password
4.1 rsync守护进程备份服务企业应用
守护进程模式:
推: 客户端 -- 数据备份 -- 备份服务器
拉: 客户端 -- 数据恢复 -- 备份服务器
企业多模块应用过程:
- 守护进程模式多模块创建
第一个里程:配置文件中创建多个模块信息
[root@backup /backup/dba_dir]# cat /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 874
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
auth users = rsync_backup
secrets file = /etc/rsync.password
exclude = oldboy01/a.txt
[backup_sadir]
comment = "backup dir by oldboy"
path = /backup/sa_dir
[backup_dbadir]
comment = "backup dir by oldboy"
path = /backup/dba_dir
[backup_devdir]
comment = "backup dir by oldboy"
path = /backup/dev_dir
第二个里程:创建目录和修改目录属主
[root@backup /backup/dba_dir]# ls /backup/
dba_dir dev_dir sa_dir
[root@backup /backup/dba_dir]# chown rsync.rsync -R /backup
第三个里程:重启服务
[root@backup /backup/dba_dir]# systemctl restart rsyncd
- 守护进程模式数据排除功能
(1)创建测试环境: 客户端创建
[root@nfs01 oldboy]# mkdir /oldboy/oldboy{01..03}
[root@nfs01 oldboy]# touch /oldboy/oldboy{01..03}/{a..c}.txt
需求01: 备份/oldboy目录数据时,将oldboy01目录进行排除,将oldboy03目录中的b.txt文件进行排除
需求02: 备份/oldboy目录数据时,将oldboy01目录进行排除a.txt oldboy02/b.txt
方法一: 利用rsync命令参数实现
--exclude
rsync -avz /oldboy/ --exclude=oldboy01/ --exclude=oldboy03/b.txt [email protected]::sa_backup --password-file=/etc/rsync.password
sending incremental file list
./
oldboy02/
oldboy02/a.txt
oldboy02/b.txt
oldboy02/c.txt
oldboy03/
oldboy03/a.txt
oldboy03/c.txt
sent 420 bytes received 134 bytes 1,108.00 bytes/sec
total size is 12,288 speedup is 22.18
说明: 利用--exclude排除数据信息,需要利用相对路径指定需要排除的数据,相对路径是相对于同步目录而言
方法二: 利用rsync命令参数实现:
--exclude-from
第一个里程: 编写排除数据信息文件
[root@nfs01 oldboy]# cat execlude.txt
oldboy01/a.txt
oldboy02/b.txt
oldboy03/c.txt
第二个里程: 利用命令参数进行排除多个数据
[root@nfs01 oldboy]# rsync -avz /oldboy/ --exclude-from=/oldboy/execlude.txt [email protected]::sa_backup --password-file=/etc/rsync.password
sending incremental file list
./
execlude.txt
oldboy01/
oldboy01/b.txt
oldboy01/c.txt
oldboy02/
oldboy02/a.txt
oldboy02/c.txt
oldboy03/
oldboy03/a.txt
oldboy03/b.txt
rsyncd.conf配置文件说明
全局配置: 在模块上面配置的信息,为全局配置,会影响所有模块
局部配置: 在模块里面配置的信息,为局部配置,只会影响指定模块
守护进程模式创建子目录功能
[root@nfs01 oldboy]# rsync -avz /etc/hosts [email protected]::sa_backup/oldboy/ --password-file=/etc/rsync.password
sending incremental file list
created directory oldboy
hosts
sent 219 bytes received 72 bytes 582.00 bytes/sec
total size is 335 speedup is 1.15
05. 守护进程模式访问策略功能
06. 守护进程模式列表功能说明 (了解)
list = false --- 可以实现客户端列表显示备份服务端所有模块信息
[root@nfs01 oldboy]# rsync [email protected]::
sa_backup "sa backup dir"
dev_backup "dev backup dir"
dba_backup "dba backup dir"