8月16日 全网备份
2019-08-17 本文已影响0人
Mashirooooo
全网备份项目部署说明
第一个里程:对工作任务进行确认 笔记记录 录音记录
第二个里程:根据需求编写文档资料 人员规划 简单部署方案
第三个里程:和领导开会(相关人员进行召集)
第四个里程:根据规划完成任务 阶段汇报
第五个里程:任务完成后项目文档总结
全网备份需求完成阶段
1.所有服务器对备份目录必须都为/backup
mkdir -p /backup
2.要备份对系统配置包括但不限于:
定时任务服务但配置文件 /var/spool/cron/root 适合web和nfs服务器
开机自动启动但配置文件 /etc/rc.local
日常脚本的目录 /server/scripts
防火墙iptables的配置文件 /etc/sysconfig/iptables
mkdir -p /backup
mkdir -p /server/scripts
touch /etc/sysconfig/iptables
tar zcf /backup/system_backup_tar.gaz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
3.web服务器站点目录假定为/var/heml/www
mkdir -p /var/html/www
tar zcPhf /backup/web_info_backup.tar.gz /var/html/www
4.web服务器访问日志路径假定为/app/logs
mkdir -p /app/logs
tar zcPhf /backup/web_log_backup.tar.gz /app/logs
5.web服务器保留打包后的7天的备份数据即可(本地留存不能多余7天,因为太多硬盘会满)
find /backup -type f -name "*tar.gz" -mtime +7 -delete
6.备份服务器上,保留6个月之内数据,同事保留6个月之前每周一的所有数据副本
find /backup -type f -name ".tar.gz" -mtime +180 ! -iname "monday.tar.gz" -delete
7.备份服务器上,要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存
方法一:在备份客户端主机上,backup目录中创建有IP地址信息的子目录
mkdir 172.16.1.31
tar zchf /backup/172.16.1.31 /system_backup_$(date +%F_%A).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
方法二:利用rsync命令创建子目录
rsync -avz /backup/ rsync_backup@172.16.1.41::backup/172.16.1.31/ --password-file=/etc/rsync.password
8.需求确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发送给系统管理员邮箱中
验证数据传输完整性
第一个步骤:客户端生成文件指纹信息
find /backup/ -type f -name "*.tar.gz"|xargs md5sum >/backup/172.16.31/finger.txt
第二个步骤:进行指纹对比
find /backup/ -type f -name "*finger.txt"|xargs md5sum -c >/tmp/check_data.txt
对验证结果进行邮件告诉运维人员
linux系统发送邮件原理
邮件发送服务客户端 --- > 邮件服务服务端 ---> QQ邮箱
foxmail ---> QQ企业邮箱 ---> 发送邮件
QQ邮箱 163邮箱 ---> 其他人发送邮件
第一个里程: 配置邮箱信息: 163 QQ
163 QQ: 授权码:
开启IMAP/SMTP服务
第二个里程: linux系统中进行邮件配置
vim /etc/mail.rc
set from=邮箱地址@qq.com <-- 连接邮箱名称信息
set smtp=smtp.qq.com <-- 设置邮箱服务地址信息
set smtp-auth-user=邮箱地址@qq.com
set smtp-auth-password= <-- 邮箱授权密码
set smtp-auth=login <-- 指定进行远程登录连接
第三个里程: 重启系统邮件服务
systemctl restart postfix.service
第四个里程: 进行邮件发送测试
echo oldboy63|mail -s "test_mail" libolibo990413@163.com
mail -s "test_mail" libolibo990413@163.com </etc/hosts
mail -s "backup_data_notify" libolibo990413@16.com </tmp/check_data.txt
脚本编写
nfs01:
#!/bin/bash
Backup_Dir="/backup"
Backup_IP=$(hostname -I|awk '{print $NF}')
mkdir $Backup_Dir/$Backup_IP -p
mkdir -p /server/scripts
touch /etc/sysconfig/iptables
#01 compress data
tar zchPf $Backup_Dir/$Backup_IP/system_backup_$(date +%F_%A).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
#02 create finger file
find $Backup_Dir/ -type f -name "*.tar.gz"|xargs md5sum >$Backup_Dir/$Backup_IP/finger.txt
#03 push date info
rsync -az $Backup_Dir/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
#04 delete 7 day ago
find $Backup_Dir/ -type f -name "*.tar.gz" -mtime +7 -delete
web01:
#!/bin/bash
Backup_Dir="/backup"
Backup_IP=$(hostname -I|awk '{print $NF}')
mkdir $Backup_Dir/$Backup_IP -p
mkdir -p /server/scripts
touch /etc/sysconfig/iptables
#01 compress data
tar zchPf $Backup_Dir/$Backup_IP/system_backup_$(date +%F_%A).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
tar zchPf $Backup_Dir/$Backup_IP/web_info_backup_$(date +%F_%A).tar.gz /var/heml/www/
tar zchPf $Backup_Dir/$Backup_IP/web_log_backup+$(date +%F_%A).tar.gz /app/logs
#02 create finger file
find $Backup_Dir/ -type f -name "*.tar.gz"|xargs md5sum >$Backup_Dir/$Backup_IP/finger.txt
#03 push date info
rsync -az $Backup_Dir/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
#04 delete 7 day ago
find $Backup_Dir/ -type f -name "*.tar.gz" -mtime +7 -delete
backup:
#!/bin/bash
#01 check data info
find /backup/ -type f -name "finger.txt"|xargs md5sum -c >/tmp/check_data.txt
#02 sent notify mail
mail -s "backup_data_notify" libolibo990413@163.com </tmp/check_data.txt
#03 delete 180 day ago
find /backup -type f -name "*.tar.gz" -mtime +180 ! -iname "*_monday.tar.gz" -delete
编写定时任务
客户端定时任务时间: 00:00
服务端定时任务时间: 07:00