rsync 案例
rsync 的配置在我上面发布的博客里面
一、准备环境
两台设备
角色 内网IP(LAN) 主机名
WEB eth1:172.16.1.7 web01
Rsync eth1:172.16.1.41 backup
二、需求
备份压缩就用/etc/passwd /etc/hosts这两个文件
1、客户端需求
1)客户端提前准备存放的备份的目录,目录规则如下:/backup/web01_172.16.1.202_2023-12-05
2)客户端在本地打包备份(系统配置文件、应用配置等)拷贝至/backup/web01_172.16.1.202_2018-12-05
3)客户端最后将备份的数据进行推送至备份服务器
2、服务端需求
1)服务端部署rsync,用于接收客户端推送过来的备份数据
2)服务端需要每天校验客户端推送过来的数据是否完整
3)服务端需要每天校验的结果通知给管理员
注意:所有服务器的备份目录必须都为/backup
上面是有这两个需求都是有定时任务的太麻烦了阉割了,默认是每天1点自动备份
三、配置邮件服务
yum install mailx -y
vim /etc/mail.rc
set from=xxxxxxx@qq.com
set smtp=smtps://smtp.qq.com:465//这里不用动
set smtp-auth-user=xxxxxxx@qq.com
set smtp-auth-password=#客户端授权码,这个需要你去qq邮箱获取,是在找不到去百度怎么获取
set smtp-auth=login#下面的都不用动
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
四、编写脚本
1、客户端脚本
date=`date +%F`
#1、创建目录
dir1='/backup/'$HOSTNAME'_'`ifconfig eth1 | awk 'NR==2{print $2}'`'_'`date +%F`
mkdir $dir1
#2、打包到目录
cd /etc
tar zcvf $dir1/$date.'etc.tar.gz' passwd hosts &>/dev/null
#3、MD5验证
cd $dir1
md5sum $dir1/$date.'etc.tar.gz' > `date +%F`_etc_res.log
#4、推送
export RSYNC_PASSWORD=123
rsync -acz $dir1 rsync_backup@172.16.1.200::backup
#这点玩意都猪脑过载研究半天,脑子不转轴了都
2、服务端脚本
date1=`date +%F`
path1=/backup
#1、检测文件 xargs 不知道为什么自动把结果识别到 -c后面了 如果邮件没东西的话就这么写
#xargs -I {} md5sum -c
find /backup -type f -name "$date1"_etc_res.log | xargs md5sum -c > $path1/"$date1"_rsy_res.log
#2、发送邮件
mail -s "Rsync Backup $date1" xxxxxxxxx@qq.com <$path1/"$date1"_rsy_res.log &>/dev/null
#这个也是一样研究半天 服了 上面的x换成你自己qq
邮箱通知结果 这个案例就是学习期间 按照老师发的弄的 当然基本上不一样 原理都一样 自己写的简化了很多