# 数据备份案例:
# 一、要备份的数据
1.配置文件:/etc/rc.local
2.系统中的各个用户的计划任务(目录),也就是crontab的定时执行任务计划:/var/spool/cron/
3.备份网站文件(目录):/var/www/html
4.日志文件夹目录:/var/log
5.防火墙配置文件:etc/sysconfig/iptables
# 二、web服务器备份要求
1.要求压缩归档方式存储
2.备份文件的命令格式:年-月-日.tar.gz
3.位置:/backup
4.每个周日的凌晨两点整执行备份
5.备份后将备份生成的文件推送到备份服务器
6.备份仅保留7天
# 三、备份服务器端的要求
1.用/backup目录保存各个主机传递过来的备份文件
2.在这个目录下穿件子目录,子目录的名称是需备份的web服务器ip地址,存储各个web服务器传递过来的备份文件
3.备份文件保留30天
# 四、实现步骤
1.准备三个虚拟机web1、web2、backup
2.做秘钥认证:要求web1、web2可以秘钥方式登录backup
3.配置rsync的deamon:配置在backup
4.配置web1、web2的rsync客户端
5.在web1和web2编写shell脚本:来备份web1、web2上的数据打包成压缩文件,并且推送到backup服务器,最后删除过期文件
6.在web1和web2编写计划任务:定时执行shell脚本
7.在备份服务器编写shell脚本:测试备份文件的完整性,并将测试的结果以邮件的方式告知管理员,最后删除过期的备份文件
# web1和web2编写shell脚本:
#!/bin/bash
flist="/etc/rc.local /var/spool/cron /etc/sysconfig/iptables /var/log var/www/html"
path="/tmp/"
backupdir="/backup"
dabao="/tmp/bak"
ipaddr="192.168.0.1"
cp -aL $flist $dabao
[ -d $backupdir/$ipaddr ] || mkdir -pv $backupdir/$ipaddr
cd $backupdir/$ipaddr
tar -cf `date +%F`.tar.gz $dabao
rm -rf $dabao/*
find $backupdir -mtime +7 -exec rm -rf {} \;
md5sum `date +%F`.tar.gz > checkmd5.log
rsync -az $backupdir/ vuser1@10.0.0.41::web1
# backup服务端
。。。
# 发送邮件方式:
方式一:使用centos自带的邮件功能
格式,第二行是以文件内容做正文发送:
echo "邮件正文" | mail -s "主题" 收件人地址
mail -s "主题" 收件人地址 < /path/to/file
方式二:使用第三方的邮件服务器来发送邮件(126邮箱服务器来发送邮件)
1.首先登录126邮箱
2.通过设置启用pop/smtp功能
3.在设置中设置授权码
4.vim /etc/mail.rc
在末尾加入以下功能
set bsdcompat
set from="test@126.com"
set smtp=smtp.126.com
set smtp-auth-user=test@126.com <<< 登录的邮箱
set smtp-auth-password=zs123 <<< 授权码
set smtp-auth=login <<< 认证方式