备份服务器
功能 :
- 对网站数据进行备份 防止数据丢失或误删
- 可以对网站服务器数据进行 对比分析
- 对网站数据进行统一管理 web服务集群 web日志文件
安全 :(中石油 两地三中心)
- 同一机房多个备份服务器
- 不同机房要有多太备份服务器
- 不同地理位置要有多个备份服务器
存储那些数据 :
- 内部人员产生数据 : 脚本文件 代码信息 配置文件 数据库文件 日志文件 (定时任务进行备份)
- 外部人员产生的数据 : 图片信息 附件信息 视频信息 (试试备份)
rsync 备份数据
- 全量备份 : 将所有数据进行完整备份传输 传输效率低
- 增量备份 : 将变化的数据进行传输备份 备份传输效率高
增量备份数据原理 :
- 比较数据属性信息
- 比较数据指纹 : 生成标识 对比指纹信息 -c
rsync 使用方式
-
进行本地备份 和cp 使用方法相同
rsync /etc/hosts 172.16.1.31:/tmp
-
远程备份文件 目录
rsync -vrp /oldboy 172.16.1.31:/tmp
传输目录后面有斜线传输目录下内容 无斜线时全都传过去
rsync使用格式 :
rsync 守护进程服务部署
服务端 :
确认软件是否安装 rpm -qa 命令
-
编写配置文件 :
vim /etc/rsyncd.conf
uid = rsync >>管理备份目录的属主信息
gid = rsync>>管理备份目录的属组信息
prot = 873>>指定rsync守护进场服务端口信息 默认873
fake super = yes >> 让指定虚拟用户伪装长超级管理员用户来强行修改文件属组属主权限信息
use chroot = yes>>和远程传输安全有关的参数
max connections = 200 >> 设置最大连接数
imeout = 300 >>连接超时
pid file = /var/run/rsyncd.pid >> 记录服务进程号码文件判断服务是否开启或关闭
lock file = /var/run/rsync.lock >> 锁文件 当max connetion 达到上限利用锁文件阻止新连接建立
log file = /var/log/rsync.password >> 程序日志文件 (排错 详细错误日志)
ignore errors >>忽略小的错误提示提升传输效率
read only = false >> 设置备份目录权限为可读可写
last = false
hosts allow = 172.16.1.0/24 >> 设置白名单
auth users = rsync_backup >> 认证用户密码文件 用户信息:密码信息
[backup] >> 模块信息
comment = “backup dir by oldboy” >> 模块注释信息
-
path = /backup/ >> 指定备份目录
uid = rsync gid = rsync port = 873 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] comment = "backup dir by oldboy" path = /backup [模板]
创建rsync服务虚拟用户 (useradd -M -s /sbin/nologin rsync)
-
创建密码文件(修改文件权限600)
echo rsync_backup:oldboy123 > /etc/rsync.password创建密码文件 ll /etc/rsync.password检查是否常见成功 chmod 600 /etc/rsync.password修改文件权威属主可读可写 ll /etc/rsync.password 查看密码文件权限
-
创建备份目录 修改目录属主 和属组信息
mkdir /backup
chown rsync.rsync /backup
-
重启服务
systemctl start rsyncd
systemctl restart rsyncd
systemctl enable rsyncd
客户端
- 测试配
rsync -avz /etc//hosts rsync_backup@172.16.1.41::backup
rsync 备份原理
客户端向服务端发送传输数据的请求信息(认证用户信息 传输数据信息)
服务端该客户端发送信息接收传输信息并审核用户回复需要认证密码
客户端向服务端发送传输数据信息 发送认证密码信息
服务端向客户端发送确认信息
客户端收到确认信息 用户携带数据通过网络进行传输同时对用户身份进行转换 >rsync(配置指定)
-
服务端向客户端发送数据存储完毕确认将数据保持到备份目录 并确认目录权限为属主为 rsync
修改备份数据属主属组信息 rsync用户身份修改
rsync 参数信息 :
参数名 | 全拼 | 作用 |
---|---|---|
-a | -–archive | 归档模式参数相当于 -rlptgoD |
-r | -–recursive | 递归传输目录 |
-l | -–links | 备份传输的软连接文件保持属性必变(只复制连接) |
-L | -copy-links | 备份传输软连接文件保持属性不变 |
-p | -perms | 保持权限信息不变 644 755 |
-t | -tinmes | 保持文件修改时间不变 |
-g | -group | 保持文件属组信息不变 |
-D | 保持设备文件属性信息不变 | |
-v | -verbose | 显示传输数据详细过程信息 |
-P | 传输进度信息 | |
-exclude=PATTERN | 根据指定数据信息进行排除 | |
-exclude-from=FILE | 根据指定文件进行批量赔偿数据信息 | |
-delete | 进行无差异同步传输数据 | |
-z | -compress | 在传输文件时对文件进行压缩传输 |
-bwlimit=RATE | 限制传输速率 | |
-password-file | 实现面交互传输数据信息 |
客户端部署 ( rsync )
创建生成密码文件 :
echo oldboy123 >/etc/rsync.password
修改文件权限 :
chmod 600 /etc/rsync.password
实现面交互传输数据
rsync -avz /oldboy/oldboy.txt rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
守护进程多模块信息 :
配置 文件中创建多个模块信息
[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 服务