- 备份服务进行多模块配置
- 备份数据进行排除备份
- 企业备份服务创建多级目录
- 企业备份数据访问控制
- 企业备份数据模块列表功能
- 企业应用无差异同步
- 企业传输数据扩展应用
第一部分 备份服务进行多模块配置
说明:主要实现不同用户对应不同目录
1.1 具体要实现的需求
开发人员 ---dev --- /devop
运维人员 ---sa --- /sa
数据库人员 ---dba --- /dba
注意:备份目录不要冲突
1.2 具体实现的步骤
第一个历程:修改配置文件
[sa]
comment = "for system admin"
path = /sa
[devop]
comment = "for devop"
path = /devop
[dba]
comment = "for database"
path = /dba
第二个历程:修改备份目录
mkdir /{sa,dev,dba} -p
chown rsync.rsync /{sa,dev,dba}
# ll -d /{sa,dev,dba}
drwxr-xr-x 2 rsync rsync 6 Jul 15 09:09 /dba
drwxr-xr-x 19 rsync rsync 3340 Jul 12 15:15 /devop
drwxr-xr-x 2 rsync rsync 6 Jul 15 09:09 /sa
测试:
rsync -avz /etc/hosts [email protected]::dba --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 221 bytes received 43 bytes 528.00 bytes/sec
total size is 356 speedup is 1.35
测试成功
1.3 扩展:将数据存储在一个目录中,区分不同数据是哪个用户存储的
oldboy用户备份的数据在备份文件中的属主、属组是自己。
oldgirl用户备份的数据在备份文件中的属主、属组也是是自己。
修改配置:
uid = root
gid = root
#fake super = yes
chown root.root /backup/
测试:
rsync -avz /etc/hosts [email protected]::dba --password-file=/home/oldboy/rsync.password
sending incremental file list
hosts
sent 221 bytes received 43 bytes 528.00 bytes/sec
total size is 356 speedup is 1.35
ps:#备份服务器中一定要有指定存储的用户存在!!!
如果不存在会出现 文件传输会有问题
只会显示一个用户id
#多个主机用户id要保持一致
#useradd -u 1000
第二部分 备份数据进行排除备份
2.1 环境准备
mkdir /oldboy/{a..c} -p
touch /oldboy/{a..c}/oldboy{01..03}.txt
[oldboy@localhost ~]$ tree /oldboy/
/oldboy/
├── a
│ ├── oldboy01.txt
│ ├── oldboy02.txt
│ └── oldboy03.txt
├── b
│ ├── oldboy01.txt
│ ├── oldboy02.txt
│ └── oldboy03.txt
├── c
│ ├── oldboy01.txt
│ ├── oldboy02.txt
│ └── oldboy03.txt
--exclude: 排除指定单个数据信息
--exclude-from:排除指定多个数据信息
2.2 实现排除文件或目录的需求
2.2.1 备份/oldboy整个数据,排除b目录不要同步备份 排除c目录中oldboy03.txt文件不要备份
[root@nfs01 ~]# rsync -avz /oldboy/ --exclude=b --exclude=c/oldboy03.txt [email protected]::backup --password-file=/etc/rsync.password
sending incremental file list
./
a/
a/oldboy01.txt
a/oldboy02.txt
a/oldboy03.txt
c/
c/oldboy01.txt
c/oldboy02.txt
PS:--exclude指定排除数据信息,目录结构必须是相对路径,相对于传输的目录而言
2.2.2 需求02:备份/oldboy整个数据,排除b目录中01.txt 02.txt c 01 02
环境准备
vi /oldboy/exclude.txt
b/oldboy01.txt
b/oldboy02.txt
c/oldboy01.txt
c/oldboy02.txt
[root@nfs01 ~]# rsync -avz /oldboy/ --exclude-from=/oldboy/exclude.txt [email protected]::backup --password-file=/etc/rsync.password
sending incremental file list
./
exclude.txt
a/
a/oldboy01.txt
a/oldboy02.txt
a/oldboy03.txt
b/
b/oldboy03.txt
c/
c/oldboy03.txt
2.3.企业备份服务创建多级目录
2.3.1实现运维人员1 2 3 分别存在/da/da01 /da/da02 /da/da03
sa01 sa02 运维人员
sa01 /sa/sa01/scripts
sa02 /sa/sa02/conf
2.3.2实现需求
rsync -avz /oldboy/ [email protected]::dba/sa01/scripts/ --password-file=/etc/rsync.password
rsync -avz /oldboy/ [email protected]::dba/sa02/conf/ --password-file=/etc/rsync.password
注:如果备份的目录服务端已有的时候,则实现增量备份。
2.4.企业备份数据访问控制(一级一级创建出来的,不能一次性创建多级目录)
hosts allow = 172.16.1.0/24 --- 允许172.16.1.0网段主机存储数据 172.16.1.31 10.0.0.31
hosts deny = 0.0.0.0/32 --- 阻止0.0.0.0地址主机存储数据
2.4.1安全策略限制的三种情况
白名单优先于黑名单
2.4.2 全局配置和局部配置(和环境变量类似)
备份服务配置文件中:全局配置 局部配置
全局配置:在模块之上配置都是全局配置 可以影响所有模块
局部配置:在模块中的配置都是局部配置 可以影响指定模块
[devop]
comment = "backup dir by devop"
path = /devop
[sa]
comment后面属于局部配置,可自定义配置项
PS:局部配置优先于全局配置
当局部变量配置黑名单,全局配置白名单的时候,优先白名单优先。
2.5 企业备份数据模块列表功能
list = false --- 如果改为true,客户端可以列表显示服务端详细模块信息
# rsync -avz [email protected]:: (回车)
backup "for system admin"
dev "for dev"
dba "for database"
PS:不安全 列表显示出来
2.6 企业应用无差异同步
--delete:保证客户端和服务端数据高度一致
注:只有守护进程有用户映射概念 其他模式都是保持属主和属组信息不变
rsync -avz --delete /null/ /dba
ll -d /dba 会看到dba的属性发生了变化,那是因为/null传输的内容保持属性不变。
2.6.1清空数据
快速清空删除目录数据:rm -f xxx
清空数据目录:rsync -avz --delete /null 172.16.1.41:/backup
清空数据文件:rsync -avz --delete /oldboy.txt /backup/oldboy.txt
2.6.2 传输大的文件,如何显示传输过程 (-P)
sending incremental file list
500M
524,288,000 100% 115.28MB/s 0:00:04 (xfr#1, to-chk=0/1)
sent 509,967 bytes received 43 bytes 68,001.33 bytes/sec
total size is 524,288,000 speedup is 1,027.00
第三部分 企业传输数据扩展应用(rsync的参数的扩展)
3.1服务端端口号发生改变 --port 端口号
[root@nfs01 ~]# rsync -avzP /tmp/500M [email protected]::backup --password-file=/etc/rsync.password --port 874
sending incremental file list
sent 47 bytes received 20 bytes 134.00 bytes/sec
total size is 524,288,000 speedup is 7,825,194.03
3.2服务端配置文件保存路径不正确
rsync --daemon [OPTION]...
--address=ADDRESS bind to the specified address 指定监听地址
--bwlimit=RATE limit socket I/O bandwidth 指定传输速率(错误案例)
例如:人人网 某一时刻带宽不足了 开发人员 --- 服务器(上传开发代码)解决方法:每个连接进行限速
--config=FILE specify alternate rsyncd.conf file 指定配置文件
--port=PORT listen on alternate port number 指定监听发端口
--log-file=FILE override the "log file" setting
[root@backup ~]# rsync --daemon --config=/tmp/rsync.conf
[root@backup ~]# netstat -lntup|grep rsync
tcp 0 0 0.0.0.0:874 0.0.0.0:* LISTEN 9933/rsync
tcp6 0 0 :::874 :::* LISTEN 9933/rsync
第四部分 备份服务优点缺点
优点:实现增量备份数据
缺点:在同步大量小文件 容易造成数据丢失 (将目录进行压缩处理)
在同步大文件数据 容易造成数据传输中断 断点续传功能不强 FTP 数据--流媒体(视频 音频) 图片