全网备份项目(笔记)
7)备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。OK1 全网备份服务器环境准备
准备好3台服务器

2 完成项目需求
1 所有备份服务的备份目录都必须为/backup
2 需要备份的目录
/etc/sysconfig/iptables 没有就须创建 touch /etc/sysconfig/iptables
/server/scripts 没有就须创建 mkdir -p /server/scripts
/var/spool/cron/root
/etc/rc.local
/server/scripts
然后进行打包备份
tar zcvf /backup/system_backup.targz /var/spool/cron/root /server/scripts /etc/rc.local /server/scripts /etc/sysconfig/iptables


tar zchf /backup/system_backup.tar.gz ./etc/sysconfig/iptables ./server/scripts ./var/spool/cron/root ./etc/rc.local ./server/scripts

mkdir /var/html/www -p 创建站点目录 (单独打包)
mkdir /app/logs -p 创建日志目录(单独打包)

find /back -type f -mtiame +7 | xargs rm
删除 本地大于7天的备份数据 因为备份数据太多本地硬盘会满
8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中(发邮件技巧见VIP群资料)。
客户端 把最近1天的目录 用MD5sum进行加密 然后把加密后的数据从定向到一个文件
find /backup/ -type f -mtime -1 ! -name "finger*"|xargs md5sum >/backup/10.0.0.31/finger.txt
rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password 进行备份
客户端
find /backup/ -type f -name "finger.txt"|xargs md5sum -c >/tmp/check.txt
利用md5算法进行验证数据完整性
#md5sum -c 指纹文件命令执行原理
# 第一个历程: 打开一个指纹文件,将信息记录到缓存中
# 第二个历程: 根据指纹文件的路径信息,生成md5数值信息
# 第三个历程: 将新生成md5数值和原有指纹文件中的数值进行比较 现在生成的数值路径必须 和原来的数值路径相同 所以必须在客户端 \
备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存 /backup /下建立ip文件
# 第四个历程: 如果相同显示结果为ok,如果不同显示failed


smtp.163.com

vim /etc/mail.rc
在最后一行添加
set from=你的邮箱名@163.com smtp=smtp.163.com
set smtp-auth-user=你的邮箱名@163.com smtp-auth-password=上面设置的授权码 smtp-auth=login
systemctl restart postfix.service 重启邮箱服务
echo "test"|mail -s "测试" 你的qq邮箱@qq.com

mail -s "邮件测试" 你的邮箱号@qq.com </etc/hosts 把hosts文件里的内容 发送给 你的邮箱
最后总结:

客户端通用脚本
#/bin/bash
Backup_dir="/back"
IP_info=$(hostname -i) 查看本机ip
#创建本地备份目录
mkdir -p $Backup_dir/$IP_info
#打包备份文件 $Backup_dir
tar zchf $Backup_dir/$IP_info/system_backup_$d(date +%F_week%w).tar.gz ./var/spool/cron/root ./etc/rc.local......
#删除七天以前的打包数据
find $Backup_dir/ -type f -mtime +7 | xargs rm 2>/dev/null
创建MD5sum的指纹文件
找到一天前 不包括finger的文件 进行验证 把内容从定向到 $Backup_dir/$IP_info/finger.txt里面
find $Backup_dir/ -type f -mtime -1 ! -name ""finger*"" | xargs md5sum >$Backup_dir/$IP_info/finger.txt
#上传到备份服务器
rsync -az $Backup_dir/ 认证用户@ip::模块名 --password-file=/etc/rsync.password
--------------------------------------------------------------------------
服务端
#删除3个月以前的数据 除了星期一的
find /backup/ -type f -mtime +180 ! -name "*week1.tar.gz"|xargs rm 2>/dev/null
#检查备份文件
find /abckup/ -type f -name "finger.txt"|xargs MD5sum -c > /tem/check.txt
#发送邮件
mail -s "标题 $(date +%F)" 邮箱 < /tmp/check.txt
客户端定时任务:
crontab -e
# backup data
0 0 * * * /bin/sh /server/scripts/backup.sh &>/dev/null
服务端定时任务
# check backup data
0 5 * * * /bin/sh /server/scripts/backup_server.sh &>/dev/null

浙公网安备 33010602011771号