一、全网备份项目部署说明(企业版)
第一里程:对工作任务进行确认
笔记或录音记录
第二里程:根据需求编写文档资料
步骤规划、时间规划(多预留部分时间)、人员规划
第三历程:和领导开会
相关人员进行着急
第四里程:根据规划完成任务
阶段汇报实际情况
第五里程:任务完成后项目文档总结
项目总结会议、人员培训
二、全网备份需求完成阶段
1)所有服务器的备份目录必须都为/backup
mkdir -p /backup
2)要备份的系统配置文件包括但不限于:
a.定时任务服务的配置文件(/var/spool/cron/root)(适合 web 和 nfs 服务器) 。
b.开机自启动的配置文件(/etc/rc.local)(适合 web 和 nfs 服务器) 。
c.日常脚本的目录 (/server/scripts)。
d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。
在nfs01服务器
mkdir /backup
mkdir -p /server/scripts
touch /etc/sysconfig/iptables
方法一:压缩数据---绝对路径
tar zcvhPf /backup/system_backup_(date +%F_%w/a/A).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
注意:定时任务文件必须由定时任务存在
3)Web 服务器站点目录假定为(/var/html/www)
在web01服务器
mkdir -p /var/html/www
mkdir /backup
tar zcvhPf /backup/web_info_backup_(date +%F_%w/a/A).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 -delete
保留周一数据信息
方法一:根据文件名称信息进行保留
(date +%F_%w).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
方法二:
rsync -avz /backup/ rsync_backup@172.16.1.41::backup/172.16.1.31/ --password-file=/etc/rsync.password
8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结 果信息发给系统管理员邮箱中
a.验证数据传输完整性
第一个步骤:客户端生成文件指纹信息
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
b.对验证结果进行邮件告诉运维人员
linux系统发送邮件原理
邮件发送服务客户端 --- > 邮件服务服务端 ---> QQ邮箱
foxmail ---> QQ企业邮箱 ---> 发送邮件
Linux postfix --->QQ邮箱 163邮箱 ---> 其他人发送邮件
第一个里程: 配置邮箱信息: 163 QQ
QQ:
设置 账户 开启IMAP/SMTP服务
授权码:qqzolqmdnyufbfde
163:
设置 pop3 勾选IMAP 保存 客户授权码 开启
授权码:
第二里程: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"***@163.com
mail -s "test_mail" ***@163.com <要发送的内容文件路径信息
mail -s "backup_data_notify" ***@16.com </tmp/check_data.txt
三、全网备份脚本编写过程
备份服务客户端脚本
nfs01:初始化脚本
vim /server/scripts/backup.sh
#!/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_%w).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初始化脚本
mkdir -p /server/scripts
vim /server/scripts/backup.sh
#!/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_%w).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_%w).tar.gz /var/heml/www/
tar zchPf $Backup_Dir/$Backup_IP/web_log_backup+$(date +%F_%w).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
备份服务器服务端脚本
mkdir -p /server/scripts
vim /server/scripts/backup.sh
#!/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" ***@163.com </tmp/check_data.txt
#03 delete 180 day ago
find /backup -type f -name "*.tar.gz" -mtime +180 ! -iname "*_2.tar.gz" -delete
四、编写定时任务
客户端定时任务时间: 00:00
服务端定时任务时间: 06:00