全网数据备份

来自:https://www.cnblogs.com/zeq912/p/11211331.html
全网数据备份方案
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服务器)。

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

[[email protected] ~]# 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 [email protected]::backup/week01/
find /backup/ -path "/backup/week01" -prune -o -type f -name "*.tar.gz" -print |xargs rm
(7)备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。

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

rsync -avz /backup/ [email protected]::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 [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=ichn123456 smtp-auth=login

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

systemctl restart postfix.service # 重启邮件
echo "linux ichn62"|mail -s "test_mail" [email protected] # 测试邮件是否能发送
mail -s "test_mail" [email protected] $Dir_info/$IP_info/finger.txt

传输备份数据

rsync -az $Dir_info/ [email protected]::backup --password-file=/etc/rsync.password

删除七天以前备份数据

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

mkdir /server/scripts/ #创建脚本目录
[[email protected] 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/ [email protected]::backup --password-file=/etc/rsync.password

删除七天以前备份数据

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

mkdir /server/scripts/ #创建脚本目录
[[email protected] scripts]#vi backup_check.sh
[[email protected] 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" [email protected] /dev/null
编写定时任务
WEB服务端:

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

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

[[email protected] /]#crontab -e
0 6 * * * /bin/sh /server/scripts/backup_check.sh &>/dev/null
可以修改系统时间来验证脚本,定时是否成功。
webwxgetmsgimg.jpg

原文地址:https://www.cnblogs.com/xkxjack/p/11880989.html

时间: 2024-10-13 18:56:09

全网数据备份的相关文章

老男孩教育运维班50-100台规模集群全网数据备份项目实战

老男孩教育运维班50-100台规模集群全网数据备份解决方案 项目要求: 1.全体学员上机实践考试,完成后由排长或班长或助教打分. 2.时间:60分钟,抄袭别人0分. 3.本项目提供免费实战讲解视频: http://edu.51cto.com/course/course_id-3497.html 1.基本备份要求 已知3台服务器主机名分别为web01.backup.nfs01,主机信息见下表: 服务器说明 外网IP 内网IP 主机名称 nginx web服务器 10.0.0.8/24 172.16

全网数据备份+inotify实时监测

第1章 备份要求及逻辑图 1.1 总体逻辑图1.2 全网备份要求1.2.1 全网备份基本要求已知3台服务器主机名分别为A(web01).B(backup).C(nfs01)要求:每天晚上00点整在Web服务器A上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送备份服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器B上)1.2.2 全网备份具体要求1)Web服务器A和备份服务器B的备份目录必须都为/backup2)要备份的系统配置文件包括但不限于:a.定

实战rsync全网数据备份

linux-node1,linux-node2 上数据通过推的方式,备份至backup服务器 备份服务器端: 1.backup 服务器上创建 rsyncd.conf 文件并编辑 [[email protected] ~]# vi /etc/rsyncd.conf #Created by alvin 20:06 2018-7-5##rsync.conf start##uid = rsyncgid = rsyncuse chroot = nomax connections = 2000timeout

全网数据备份解决方案

1.首先在备份服务器上部署rsync服务 2.实现本地文件打包,通过脚本实现 3.设置定时任务,定时推送打包文件 4.进行整体测试 原文地址:https://www.cnblogs.com/zrxuexi/p/11587384.html

全网服务器数据备份方案(模拟生产环境)+邮件告知

使用rsync实现全网数据备份(模拟生产环境)+邮件告知 项目要求来源于网络:http://oldboy.blog.51cto.com/2561410/1856048 假定3台服务器主机名分别为web01.backup.nfs01,主机信息如下表: 服务器说明 内网IP 主机名 nginx web服务器 192.168.1.222 WEB-01 NFS存储服务器 192.168.1.233 NFS-01 rsync备份服务器 192.168.1.244 BACKUP 要求:每天晚上00点整在We

Rsync+sersync数据备份

一.全网数据备份方案 1.需要备份的文件目录有(原则上,只要运维人员写入或更改的数据都需要备份)./data,/etc/rc.local,/var/spool/cron/root等,根据不同都服务器做不同的调整2.为了规范化,每台服务器进行本地备份时都备份到/backup目录下3.每台WEB服务器进行本地备份时,都备份到/backup目录下以本机IP地址命名的目录中4.打的tar包中需要包含当天的日期5.统一存储数据备份的服务器统一采用Rsync daemon 方式提供存储备份数据都目录/bac

搭建企业级全网数据定时备份方案【cron + rsync】

1.1.1. 服务端的配置[192.168.25.141] Rsync的端口是:873 man rsyncd.conf 查看帮助 1.vim /etc/rsyncd.conf vi /etc/rsyncd.conf -->man rsyncd.conf 查看帮助 ######rsyncd.conf####### uid = rsync ----->非系统虚拟用户 gid = rsync use chroot =no -->防止出现安全问题 maxconnections = 200 ---

rsync+inotify实现全网自动化数据备份-技术流ken

1.rsync简介 "rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步" 2.rsync的功能和特点 1. 可以实现服务器各种资源的备份(可以夸文件系统) 2. linux-rsync,windows-cwrsync 3. 可以做全量备份,也可以做增量备份 4. 在做备份的时候,可以排除一些特定的文件不做备份 5. 可以结合ssh实现加密传输 6. rsync支持工作在后台的模式(

rsync远程数据备份配置之再次总结

一.实验环境 主机名  网卡ip  默认网关 用途 nfs-server 10.0.0.11 10.0.0.254 rsync服务器端 web-client01 10.0.0.12 10.0.0.254 rsync客服端 web-client02 10.0.0.13 10.0.0.254 rsync客服端 二.实验步骤 1.什么是rsync?rsync是一款开源的,快速的,多功能的可实现全量及增量的数据备份同步的优秀工具,适用于多种操作系统之上.2.rsync特性1)支持拷贝链接文件特殊文件2)