linux 全网备份项目

linux全网备份项目

要求

1、基本备份要求
已知 3 台服务器主机名分别为 web01、backup 、nfs01,主机信息见下表:
服务器说明 外网IP(NAT) 内网IP(NAT) 主机名称
     nginx web 服务器 10.0.0.8/24 172.16.1.8/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 
要求:每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留(备份思路可以是先在本地按日
期打包,然后再推到备份服务器 backup 上) ,NFS 存储服务器同 Web 服务器,实际工作 中就是全部的服务器。
具体要求如下:
1)所有服务器的备份目录必须都为/backup。

2)要备份的系统配置文件包括但不限于:

a.定时任务服务的配置文件(/var/spool/cron/root)(适合 web 和 nfs 服务器) 。

b.开机自启动的配置文件(/etc/rc.local)(适合 web 和 nfs 服务器) 。

c.日常脚本的目录 (/server/scripts)。 d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。

3)Web 服务器站点目录(/var/html/www)。

4)Web 服务器 A 访问日志路径(/app/logs)

5)Web 服务器保留打包后的 7 天的备份数据即可(本地留存不能多于 7 天,因为太多硬盘会 满)

6)备份服务器上,保留每周一的所有数据副本,其它要保留 6 个月的数据副本。

7)备份服务器上要按照备份数据服务器的内网 IP 为目录保存备份,备份的文件按照时间名 字保存。

8)*需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结 果信息发给系统管理员邮箱中。

具体代码如下

客户端

#!/bin/bash

#---------------------------------------------------------------------

#定义变量
hostip=`hostname -I|awk ‘{print $2}‘`
cd /    
varfile="./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables"
date=`date +%F-%a`
webfile="/var/html/www"
weblog="/app/logs"
mkdir /backup >/dev/null 2>&1
mkdir -p /backup/$hostip
#-------------------------------------------------------------------
#打包系统配置文件、web站点目录、日志访问路径
tar -zchf /backup/${hostip}/${date}.gz.tar ./$varfile
tar -zcf /backup/${hostip}/webfile_${date}.gz.tar ./$webfile
tar -zcf /backup/${hostip}/weblog_${date}.gz.tar ./$weblog
md5sum /backup/${hostip}/* >/backup/${hostip}/md5${date}.txt
#--------------------------------------------------------------------
#清理包,因为你已经把内容传输过去了,留着没有意义
find /backup/${hostip}/ -type f -mtime +7  -name "*.tar"|xargs rm -f
find /backup/${hostip}/ -type f -mtime +7  -name "md5.txt"|xargs rm -f
#---------------------------------------------------------------------
#通过rsync发送到备份服务器上
rsync -a ./backup/${hostip} [email protected]::backup --password-file=/etc/rsync.password >/dev/null 2>&1
if [ $? -ne 0 ];then
echo "备份失败"|mail -s "nfs备份情况" [email protected] >/dev/null 2>&1
fi

定时任务

crontab -e

00 00 * * * /bin/bash 文件 >/dev/null 2>$1

服务端代码

#!/bin/bash
cd /
A=(`ls backup|xargs -n1`)
for ((i=0;i<${#A[*]};i++));do
/usr/bin/md5sum -c /backup/${A[i]}/md5`date +%F-%a`.txt >>./ceshi  2>/dev/null
a=$a[a+1]
done
/bin/mail -s "备份数据" [email protected] <./ceshi >/dev/null 2>&1
rm -f ./ceshi
find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f

#自动获取/backup下的目录并且比较适合多台服务器

定时任务

crontab -e

00 06 * * * /bin/bash 文件 >/dev/null 2>$1

时间: 2024-10-12 10:15:33

linux 全网备份项目的相关文章

linux运维、架构之路-全网备份项目方案

1.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送备份服务器backup上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器backup上) 2.具体需求规划 所有服务器的备份目录必须一致 /backup/ 要备份的系统配置文件包括但不限于: 一.定时任务服务器的配置文件(/var/sp

全网备份项目解决方案实例

大规模集群全网备份案例 项目要求:1.需要备份的文件或目录有(原则上,只要是运维人员写入或更改的数据,都需要备份):/var/spool/cron/root /etc./rc.local /etc/sysconfig/iptables /var/www/html /app/logs2.为了规范化,每台web服务器进行本地备份时都本分到/backup目录下3.每台web服务器进行本地备份时,都备份到backup下以本机IP地址命名的目录中4.打的tar包文件名中需要包含执行当天的日期5.统一备份数

公司实现全网备份项目:(rsync+定时任务)

企业案例:rsync实战: web01 10.0.0.7 backup 10.0.0.41 某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份.要求如下: 每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留 (备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上). rsync守护进程模式 定时任务 (脚本) 具体要求如

rsync全网备份项目

具体要求:1,所有服务器(定时任务,开机自启动,日常脚本目录,防火墙配置文件),tar包到/backup目录,再推送到备份服务器2,web服务器站点tar包到/backup目录(假定为:/var/www/html/),再推送到备份服务器,3,web服务器访问日志tar包到/backup目录(假定为:/var/log/),再推送到备份服务器4,所有本地tar包保留时间为7天,备份服务器上保留6个月5,备份服务器上按照备份数据的主机名+ip为目录的形式保存,要求所有tar包按时间名保存 #服务器配置

基础全网备份项目解决方案

要求:每天晚上0点整在web服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到备份服务器backup上存入IP地址目录备份保留(备份文件带上时间信息与星期几),最后生成数据指纹信息比对后发送到邮箱 a) 定时任务服务的配置文件 (/var/spool/cron/root) (适合web和nfs服务器). b) 开机自启动的配置文件 (/etc/rc.local) (适合web和nfs服务器). c) 日常脚本的目录 (/server/scripts). d) 防火墙i

老男孩教育运维班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

全网备份+NFS存储+单点实时同步.docx

目  录 老男孩教育 linux 运维就业班第八和九关(周)课后学习效果能力上机大考察... 1 1.1 逻辑图... 1 1.2 50 台集群服务器全网数据备份解决方案... 1 1.2.1 一.搭建rsync备份服务器... 3 1.2.2 二.web01本地测试... 7 1.2.3 web01本地脚本... 7 1.2.4 本地定时任务... 8 1.2.5 backup服务器上脚本... 8 1.2.6 backup定时任务... 8 1.3 网站集群后端 NFS 共享存储搭建及优化解

全网备份

1.1全网备份项目介绍说明: 将全网架构中所有服务器上重要的数据进行汇总备份保存 自动化:数据信息的自动备份 规范化:避免备份数据出错 1.2  全网备份项目实施过程 ①. 规划定义好备份服务器 a 部署rsync备份服务(采用rsync守护进程方式) b 编写脚本文件管理备份数据信息 c 编写定时任务执行脚本管理数据(难点) ②. 确认验证好架构服务器 a 验证rsync备份服务 b 编写脚本文件统一备份数据信息(难点) c 编写定时任务执行脚本备份数据 1.3 全网备份项目rsync守护进程

Rsync 网站全网备份

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据做备份,这样Web服务器数据丢失可以进行恢复.要求如下: 每天晚上00点整在Web服务器A上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器B上). 问题一.实现把Web服务器A数据备份到服务器B. 具体要求如下: 1)Web服务器A和备份服务器B的备份目录必须都为/backup. 2)系统配置文件包括但