00. 课程介绍部分
1.rsync备份服务传输数据原理
2.rsync备份服务命令参数说明
3.rsync备份服务企业应用方式
4.rsync备份服务常见异常问题 --总结问题
5.rsync备份服务全网备份项目 --上机测验
01.课程回顾部分
1.网络命令总结
a ping -c (数量) -i (间隔时间) -q (只显示结果信息) -f (急速ping)
b route/ip route ---查看系统路由信息/设置系统路由
c telnet/nc/nmap ---测试服务端口连通性
d dig / nslookup ---解析获得域名对应ip地址
e tcpdump ---抓数据包命令
2.克隆主机 链接克隆
占用资源少,效率快 但模板机没有后,克隆机全部失效
完整克隆
占用资源多,效率低 模板机不存在,克隆机继续使用
3.备份数据概念
两地三中心
全量备份 增量本分
备份什么文件:内部人员备份:脚本信息 代码文件 配置文件 日志文件等 重要文件 ---定时任务
外部人员备份:视频 照片 附件等 ---实时备份
4.备份数据方法
a 本地备份 (与cp命令格式相同)
b 远程备份 扩展:scp
rsync 参数 用户@ip地址或主机名:要传什么数据信息 将数据保存到本地主机路径 (拉)
例:
rsync -vrp 172.16.1.41:/tmp/hosts /etc
rsync 参数 本地数据路径 用户@ip地址或主机名:要存储到哪 (推)
例:
rsync -vrp /etc/hosts 172.16.1.41:/tmp
5.备份服务守护进程配置
1.检查是否有该软件 rpm -qa rsync
2.编写配置文件信息
3.创建虚拟用户 useradd -M -s /sbin/nologin xxx
4.创建密码文件 修改权限
5.创建备份目录文件 修改属主属组
6.重启服务
02.rsync守护进程模式备份数据原理(用户身份转换过程)
第一步:客户端 -->服务端 发送请求传输数据信息 执行命令 有认证用户信息 传输数据信息
第二步:服务端 -->客户端 接收到传输数据信息 审核认证用户
发送回复信息 需要认证密码
第三步:客户端 -->服务端 发送请求传输数据信息 发送认证密码信息
第四步:服务端 -->客户端 发送确认信息
第五步:客户端 -->服务端 用户携带数据通过网络进行传输 需要对用户身份进行转换 -->rsync(配置文件指定)
第六步:服务端 -->客户端 发送数据存储完毕确认信息 将数据保存到备份目录中 备份目录权限属主为rsync
修改备份数据属主和属组信息 rsync修改文件权限
chgrp ".hosts.rFMg5m" (in backup) failed: Operation not permitted (1)
charp ---修改数据属组信息
解释说明:
普通用户无法修改文件的属组信息
补充:配置文件参数
fake super = yes ---让指定虚拟用户伪装成管理员用户,可以强行修改文件属主属组权限信息
03.rsync命令参数说明
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
归档模式参数; 等价于 -rlptgoD
-r, --recursive recurse into directories
递归传输目录
-l, --links copy symlinks as symlinks
备份传输连接文件保持属性不变
(不在a中)-L, --copy-links transform symlink into referent file/dir
备份传输软连接文件时,会将源文件内容信息进行传输备份
-p, --perms preserve permissions
保持权限信息不变 例 644 755
-t, --times preserve modification times
保持文件修改时间不变
-g, --group preserve group
保持文件属主信息不变
-o, --owner preserve owner (super-user only)
保持文件属组信息不变
-D same as --devices --specials
保持设备文件属性信息不变
以下不在a中
-v, --verbose increase verbosity
传输备份数据详细过程信息
-P(大写) same as --partial --progress
显示传输进度
--exclude=PATTERN exclude files matching PATTERN
根据指定数据信息进行排除
--exclude-from=FILE read exclude patterns from FILE
根据指定文件信息批量排除数据信息
--delete delete extraneous files from destination dirs
无差异同步传输数据
同步目录数据信息时,保证目录中数据信息完全相同
-z, --compress compress file data during the transfer
在传输数据时,对文件进行压缩传输
--bwlimit=RATE limit socket I/O bandwidth
限制传输速率
--password-file=FILE read daemon-access password from FILE
实现免交互传输数据信息
补充:rsync 客户端部署过程
第一步:创建生成密码文件
echo 密码信息 >/etc/rsync.password
chmod 600 /etc/rsync.password
第二步:实现免交互传输数据
rsync -avz /opt rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
04.rsync守护进程备份服务企业应用
守护进程模式:
推:客户端 -- 数据备份 -- 备份服务器
拉:客户端 -- 数据恢复 -- 备份服务器
Access via rsync daemon:
拉 Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
SRC 备份服务器上模块信息
DEST 本地保存数据路径信息
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
推 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
SRC 本地主机上要备份推送数据信息
[USER@] 备份服务认证用户信息
HOST:: 备份服务器IP地址信息或者主机名称信息
DEST 备份服务器模块名称信息
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
企业多模块应用过程:
01.守护进程模式多模块创建
第一步:配置文件中创建多个模块信息
[sa_backup]
comment = "backup dir by oldboy"
path = /backup/sa_dir/
[dev_backup]
comment = "backup dir by oldboy"
path = /backup/dev_dir/
[dba_backup]
comment = "backup dir by oldboy"
path = /backup/dba_dir/
第二步:确认指定模块路径是否存在/权限是否正确
第三步:重启rsync服务
02.守护进程模式数据排除功能
创建测试环境:客户端内创建
tree /oldboy
/oldboy
├── exclude.txt
├── oldboy01
│ ├── a.txt
│ ├── b.txt
│ └── c.txt
├── oldboy02
│ ├── a.txt
│ ├── b.txt
│ └── c.txt
└── oldboy03
├── a.txt
├── b.txt
└── c.txt
3 directories, 9 files
需求01:备份/oldboy目录数据时,将oldboy01目录进行排除,将oldboy03目录中的b.txt文件进行排除
需求02:备份/oldboy目录数据时,将oldboy01目录进行排除a.txt oldboy02/b.txt oldboy03/c.txt
方法一:利用rsync命令参数实现
rsync -avz /oldboy/ --exclude=oldboy03/b.txt --exclude=oldboy01/ rsync_backup@172.16.1.41::dev_backup --password-file=/etc/rsync.password
rsync -avz /oldboy/ --exclude=oldboy01/a.txt --exclude=oldboy02/b.txt --exclude=oldboy03/c.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password
说明:利用 --exclude排除数据信息,需要利用相对路径指定需要排除的数据,相对路径是相对于同步目录而言
方法二: 利用rsync命令参数实现
第一步:编写需要排除信息的文件
#cat exclude.txt
oldboy01/a.txt
oldboy02/b.txt
oldboy03/c.txt
第二步:rsync -avz /oldboy/ --exclude-form=/oldboy/exclude.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password
方法三: 利用服务端配置文件参数
vim /etc/rsyncd.conf
第一种方法:在配置文件中添加(全局模式 影响所有模块)
exclude = oldboy01/ oldboy03/b.txt
exclude from = /oldboy/exclude.txt
第二种方法:在模块中添加(局部配置 影响单一模块)
[sa_backup]
comment = "backup dir by oldboy"
path = /backup/sa_dir/
exclude = oldboy01/a.txt oldboy02/b.txt
或
[sa_backup]
comment = "backup dir by oldboy"
path = /backup/sa_dir/
exclude from = /oldboy/exclude.txt
补充: rsyncd.conf配置文件说明
全局配置: 在模块上面配置的信息,为全局配置,会影响所有模块
局部配置: 在模块里面配置的信息,为局部配置,只会影响指定模块
03.守护进程模式数据无差异同步
--delete
企业应用:保证数据同步一直 存储服务器数据 == 备份服务器数据
PS: --delete参数,一定要慎用,容易造成误删数据
04. 守护进程模式创建子目录功能
rsync -avz /etc/hosts rsync_backup@172.16.1.41::sa_dir/root/ --password-file=/etc/rsync.password
05. 守护进程模式访问策略功能
白名单配置/黑名单配置
参见图示
06. 守护进程模式列表功能说明 (了解)
list = false --- 可以实现客户端列表显示备份服务端所有模块信息
[root@nfs01 oldboy]# rsync rsync_backup@172.16.1.41::
sa_backup "sa backup dir"
dev_backup "dev backup dir"
dba_backup "dba backup dir"
05.课程总结
1.rsync服务传输原理 重点理解(身份转化)
2.rsync命令参数 avz P(进度) L(传链接文件时源文件内容也传输)
--exclude (排除) --exclude-from (排除一个文件中的) --delete(无差异传输) --password-file (免交互) bwlimit (限制传输速度)
3.rsync企业应用
a 多模块创建
b 数据排除功能
c 无差异同步
d 创建子目录
e 访问策略功能
f 列表功能
作业:
1.如何真正实现保持文件属主和属组信息不变?
在配置文件中修改
vim /etc/rsyncd.conf
uid=root
gid=root
#fake super = yes (注释掉)
重启服务即可实现
2.如何对外网用户传输数据进行限速
--bwlimit=RATE
rsync -avz --bwlimit=10 /etc/hosts rsync_backup@172.16.1.41::sa_backup
3. 如何在修改rsync默认端口后,依旧可以传输数据信息
第一种方法:
(拉)Pull:
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
rsync -avz rsync://rsync_backup@172.16.1.41:874/etc/hosts sa_backup
(推)Push:
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
rsync -avz /etc/hosts rsync://rsync_backup@172.16.1.41:874/sa_back
第二种方法:
利用rsync参数
rsync -avz /etc/hosts rsync_backup@172.16.1.41::sa_backup --port=874