备份和校验脚本-邮件通知

我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。
个人博客:传送阵
笔者微信:zhanghe15069028807,非诚勿扰。

客户端脚本

#第一步,定义变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Host=$(hostname)
Ip=$(hostname -I | cut -d' ' -f1)
Date=$(date +%F)
Dest=${Host}_${Ip}_${Date}
Path=/backup

#第二步,创建备份的目录
[ -d /backup ] || mkdir /backup

#第三步,打包压缩保存到/backup目录里面
mkdir -p $Path/$Dest &>/dev/null
cd / && \
[ -f $Path/$Dest/sys.tar.gz ] || tar czf $Path/$Dest/sys.tar.gz etc/hosts etc/fstab var/spool/cron/root && \
[ -f $Path/$Dest/other.tar.gz ] || tar czf $Path/$Dest/other.tar.gz server/scripts/  && \
[ -f $Path/$Dest/flag ] || md5sum $Path/$Dest/*.tar.gz > $Path/$Dest/flag && \

#第四步,定义rsync密码,将$path目录里面的文件推送到服务器的path模块当中
export RSYNC_PASSWORD=1
rsync -avz $Path/ [email protected]::backup

#第五步,仅保存最近七天的数据
find $Path -type f -mtime +7 | xargs rm -f

服务端脚本

[root@BACKUP scripts]# cat backup.sh 
#!/bin/bash

第一步,定义变量
Path=/backup
Date=$(date +%F)

第二步,进行校验
md5sum -c $Path/*_$Date/flag > $Path/result_$Date

第三步,发邮件
mail -s "Rsync Backup $Date" [email protected] <  $Path/result_$Date
仅保存6个月的数据
find $Path -type d -mtime +180 | xargs rm -f
find $Path -type f -mtime +7 -name "result*" -exec rm -f {} \;

猜你喜欢

转载自www.cnblogs.com/yizhangheka/p/12107658.html
今日推荐