全网数据备份方案

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 全网数据备份方案1 项目备份环境已知3台服务器主机名分别为web01、backup、nfs01,主机信息见下表:服务器说明 外网IP 内网IP 主机名称web服务器 10.0.0.7/24 172.16.1.7/24 web01nfs存储服务器 10.0.0.31/24 172.16.1.31/24 nfs01rsync备份服务器 10.0.0.41/24 172.16.1.41/24 backup2 项目备份要求具体要求如下:(1)所有服务器的备份目录必须都为/backup。

全网数据备份方案
1 项目备份环境
已知3台服务器主机名分别为web01、backup、nfs01,主机信息见下表:

服务器说明 外网IP 内网IP 主机名称
web服务器 10.0.0.7/24 172.16.1.7/24 web01
nfs存储服务器 10.0.0.31/24 172.16.1.31/24 nfs01
rsync备份服务器 10.0.0.41/24 172.16.1.41/24 backup

2 项目备份要求
具体要求如下:
(1)所有服务器的备份目录必须都为/backup。
(2)要备份的系统配置文件包括但不限于:

a.定时任务服务的配置文件(/var/spool/cron/root)(适合web和nfs服务器)。
b.开机自启动的配置文件(/etc/rc.local)(适合web和nfs服务器)。
c.日常脚本的目录 (/server/scripts)(适合web和nfs服务器)。
d.防火墙iptables或firewalld配置文件(/etc/sysconfig/iptables或 /etc/firewalld)(适合web和nfs服务器)。
e.自己思考下还有什么需要备份呢?

(3)Web服务器站点目录假定为(/var/html/www)(适合web服务器)。
(4)Web服务器A访问日志路径假定为(/app/logs)(适合web服务器)。
(5)Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满)
(6)备份服务器上,保留最近6个月的备份数据,同时保留6个月之前每周一的所有数据
(7)备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。
(8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中
(9)搭建NFS存储实现web服务器网站图片、附件共享
(10)NFS存储数据实时备份

(1)每天晚上00点整在web服务器上打包备份系统配置文件、网站程序目录及访问日志并通过rsync命令推送备份服务器backup上备份保留。
(2)每天晚上00点整在nfs服务器上打包备份系统配置文件,并通过rsync命令推送备份服务器backup上备份保留。
思路:
备份思路可以是先在本地按日期打包,然后再推到备份服务器backup上,备份完成后要进入解压文件,查看一下是否有内容,nfs存储服务器同web服务器,实际工作中就是全部的服务器。

3 项目备份逻辑架构图
1.jpg

4 项目实施配置
(1)首先三台服务器的备份目录都要为backup

mkdir /backup #web01,nfs01,backup服务器都要创建backup
(2)要备份的系统配置文件包括但不限于

a.定时任务服务的配置文件(/var/spool/cron/root)(适合web和nfs服务器)。
b.开机自启动的配置文件(/etc/rc.local)(适合web和nfs服务器)。
c.日常脚本的目录 (/server/scripts)(适合web和nfs服务器)。
d.防火墙iptables或firewalld配置文件(/etc/sysconfig/iptables或 /etc/firewalld)(适合web和nfs服务器)。
 

(3)Web服务器站点目录假定为(/var/html/www)(适合web服务器)。

[root@web01 ~]# mkdir /var/html/www -p
(4)Web服务器A访问日志路径假定为(/app/logs)(适合web服务器)。

[root@web01 ~]# mkdir /app/logs -p
(5)Web服务器保留打包后的7天的备份数据。

find /backup -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null
2>/dev/null:如果没有7天之前的数据会产生错误报告信息,因此将错误信息追加到/dev/null,不会产生错误信息。
(6)备份服务器上,保留最近6个月的备份数据,同时保留6个月之前每周一的所有数据。

find /backup -type f -mtime +180 -name "*.tar.gz"|xargs rm

方法一:在文件名称中显示星期信息

data+%A/date +%w

find /backup/ -type f -name ".tar.gz" -mtime +180 ! -name "星期1.tar.gz"|xargs rm 2>/dev/null

方法二:将周一数据单独保存

今天是周一

mkdir /backup/week01
rsync -avz /backup/week01 rsync_backup@172.16.1.41::backup/week01/
find /backup/ -path "/backup/week01" -prune -o -type f -name "*.tar.gz" -print |xargs rm
(7)备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。

[root@backup ~]# mkdir /backup/172.16.1.7 172.16.1.31
(8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中

rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
md5sum /backup/172.16.1.31/system_backup_2019-07-18_星期4.tar.gz >/backup/172.16.1.31/finger.txt

md5值追加给finger.txt(指纹文件)

md5sum -c finger.txt ### 自动对比md5值

vim /etc/mail.rc
set from=1396344xxxx@163.com smtp=smtp.163.com
set smtp-auth-user=1396344xxxx@163.com smtp-auth-password=ichn123456 smtp-auth=login

将这两条命令添加到最后一行

systemctl restart postfix.service # 重启邮件
echo "linux ichn62"|mail -s "test_mail" 7880xxxx@qq.com # 测试邮件是否能发送
mail -s "test_mail" 7880xxxx@qq.com /hosts # 测试邮件是否能发送
整理以上命令编写脚本

mkdir /server/scripts/ #创建脚本目录
[root@web01 scripts]#vi system_backup.sh

!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

创建本地备份目录

mkdir -p $Dir_info/$IP_info

创建本地备份压缩文件,备份站点目录和日志目录

cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
tar zchf $Dir_info/$IP_info/web_backup_$(date +%F_星期%w).tar.gz ./var/html/www/
tar zchf $Dir_info/$IP_info/web_log_$(date +%F_星期%w).tar.gz ./app/logs/

生成数据指纹信息

find $Dir_info/$IP_info/ -type f -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

传输备份数据

rsync -az $Dir_info/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

删除七天以前备份数据

find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

mkdir /server/scripts/ #创建脚本目录
[root@nfs01 scripts]#vi system_backup.sh

!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

创建本地备份目录

mkdir -p $Dir_info/$IP_info

创建本地备份压缩文件

cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables

生成数据指纹信息

find $Dir_info/$IP_info/ -type f -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

传输备份数据

rsync -az $Dir_info/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

删除七天以前备份数据

find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

mkdir /server/scripts/ #创建脚本目录
[root@backup scripts]#vi backup_check.sh
[root@backup scripts]#cat backup_check.sh

!/bin/bash

验证数据完整性

find /backup/ -type f -name "finger.txt"|xargs md5sum -c &>/tmp/check_info.txt

发送邮件信息通知

mail -s "backup_check_info" 1138108293@qq.com /check_info.txt

删除6个月之前数据

find /backup/ -type f -name ".tar.gz" -mtime +180 ! -name "星期1.tar.gz"|xargs rm 2>/dev/null
编写定时任务
WEB服务端:

[root@web01 /]#crontab -e
00 00 * /bin/sh /server/scripts/system_backup.sh &>/dev/null
NFS客户端:

[root@nfs01 /]#crontab -e
00 00 * /bin/sh /server/scripts/system_backup.sh &>/dev/null
backup服务端:

[root@backup /]#crontab -e
0 6 * /bin/sh /server/scripts/backup_check.sh &>/dev/null
可以修改系统时间来验证脚本,定时是否成功。
webwxgetmsgimg.jpg
原文地址https://www.cnblogs.com/zeq912/p/11211331.html

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
弹性计算 监控 容灾
阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行
在数字化时代,企业对信息技术的依赖加深,确保业务连续性至关重要。阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行。无论是小型企业还是大型企业,都能从中受益,确保在面对各种风险时保持业务稳定。
18 4
|
容灾 安全 大数据
为数据安全而生,阿里云容灾备份方案场景实践解析
数字经济时代,数据正以超出想象的速度快速增长。短短几年,数据量已经从TB级别跃升到PB乃至ZB级别。
5448 0
|
存储 运维 监控
使用 NineData 快速构建企业容灾备份
使用 NineData 快速构建企业容灾备份。另外,NineData 也突破传统技术方案,推出实时日志备份:基于增量日志监听采集技术,实时获取并备份数据库中的变化数据,实现秒级 RPO 的备份能力,真正做到数据零丢失。有效保护企业的核心数据,构筑企业数据安全的最后一道防线。
311 1
使用 NineData 快速构建企业容灾备份
|
容灾
《医保行业容灾演练云上技术白皮书》——第四章 医保云容灾演练方案——4.4 容灾演练方案——4.4.6 A机房公共区云平台故障演练(入口断网)
《医保行业容灾演练云上技术白皮书》——第四章 医保云容灾演练方案——4.4 容灾演练方案——4.4.6 A机房公共区云平台故障演练(入口断网)
|
容灾
《医保行业容灾演练云上技术白皮书》——第四章 医保云容灾演练方案——4.4 容灾演练方案——4.4.7 机房核心区云平台故障演练(入口断网)
《医保行业容灾演练云上技术白皮书》——第四章 医保云容灾演练方案——4.4 容灾演练方案——4.4.7 机房核心区云平台故障演练(入口断网)
|
存储 弹性计算 运维
从备份升级到容灾,利用阿里云就可以做到的灾备方案
从备份升级到容灾,利用阿里云就可以做到的灾备方案
从备份升级到容灾,利用阿里云就可以做到的灾备方案
|
存储 弹性计算 运维
线下 + 线上多种迁移方式,为115 提供最佳迁移方案
线下 + 线上多种迁移方式,为115 提供最佳迁移方案
1909 0
 线下 + 线上多种迁移方式,为115 提供最佳迁移方案
|
存储 监控 数据库
2017双11技术揭秘—阿里数据库进入全网秒级实时监控时代
2017双11再次创下了32.5万笔/秒交易创建的纪录,在这个数字后面,更是每秒多达几千万次的数据库写入,如何大规模进行自动化操作、保证数据库的稳定性、快速发现问题是一个巨大的难题, 这也是数据库管控平台要完成的任务。
6171 5
|
存储 缓存 网络协议
基于云存储网关的Veeam备份归档上云方案
传统备份厂商的异地备份方案是将数据备份至异地机房来保护数据。公共云的出现改变了异地备份的方案和架构。用户在面对公共云和传统备份架构时,该如何选择呢?本文结合Veeam备份软件的使用,一方面来阐述Veeam是如何与云存储网关产品结合将数据备份上云,另一方面也试着给出一些看法和建议。
2052 0
下一篇
无影云桌面