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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网备份项目解决方案实例相关的知识,希望对你有一定的参考价值。

大规模集群全网备份案例

项目要求:
1、需要备份的文件或目录有(原则上,只要是运维人员写入或更改的数据,都需要备份):
/var/spool/cron/root /etc./rc.local /etc/sysconfig/iptables /var/www/html /app/logs
2、为了规范化,每台web服务器进行本地备份时都本分到/backup目录下
3、每台web服务器进行本地备份时,都备份到backup下以本机IP地址命名的目录中
4、打的tar包文件名中需要包含执行当天的日期
5、统一备份数据的服务器通过rsync daemon方式提供存储备份数据的目录/backup
6、由于web服务器本地存储空间有限,需要将超过7天的备份数据删除
7、为了方便的知道每次备份是否成功 我们需要做如下操作:
a.在每台web服务器上检查备份是否成功
b.在存储备份数据的服务器上检查备份数据是否推送成功,并发送邮件至管理员邮箱
8由于备份服务器空间有限 需要删除超过180天的备份数据,但每周六的备份数据需要永久保存

客户端上的配置:

#vim bak.sh
#!/bin/bash
IP=$(ifconfig eth1|awk -F "[ :]+" ‘NR==2 {print $4}‘)
Path=/backup
if [ $(date +%w) -eq 0 ]
then
Time="week$(date +%F%w -d "-1day")"
else
Time=$(date +%F -d "-1day")
fi
mkdir $Path/$IP/ -p

cd / &&
tar zcfh $Path/$IP/backup$Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs server/scripts &&
md5sum $Path/$IP/backup
$Time.tar.gz >$Path/$IP/flag_$Time.log &&
rsync -az $Path/ [email protected]::backup --password-file=/etc/rsync.password &&
find /backup/ -type f -mtime +7 ( -name ".log" -o -name ".tar.gz" ) |xargs rm -f

#crontab -e
00 00 * /bin/sh bak.sh > /dev/null

备份服务器上的配置
#vim baf.sh
#!/bin/bash
IP=$(ifconfig eth1|awk -F "[ :]+" ‘NR==2 {print $4}‘)
Path=/backup
if [ $(date +%w) -eq 0 ]
then
Time="week$(date +%F%w -d "-1day")"
else
Time=$(date +%F -d "-1day")
fi
LANG=en
find /backup -type f -name "${Time}.log"|xargs md5sum -c >>$Path/${Time}_result.log 2>&1
mail -s "$Time bak result" [email protected] <$Path/${Time}_result.log
find /backup/ -type f -mtime +180 ! -name "week_6*" |xargs rm -f

#crontab -e
00 00 * /bin/sh baf.sh > /dev/null

以上是关于全网备份项目解决方案实例的主要内容,如果未能解决你的问题,请参考以下文章

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

Linux-Rsync项目实战(详细) 备份全网服务器数据生产架构方案

shell综合实例

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

项目-第六次全网备份上机考试

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