rsync +cron 定时打包脚本

脚本1,

客户端

vim /etc/profile.d/bfpzwj.sh
#!/bin/bash
#主机名: 
H=$(hostname)
#内网IP: 
IP=$(hostname -I|awk '{print $2}')
#备份到哪: (前面/加后面不加)
na=/backup
#当前时间: 
#年月日 时分
C=$(date +%F-%R)
#年月日
D=$(date +%F)
#年月日时分秒
E=$(date +%F-%T)
cde=$D
#备份哪个目录:(前后都不要加根) 
A='etc'
bf=${na}/${H}_${IP}_${cde}
[ -d $bf ]||mkdir -p $bf
#校验
#清理

cd /$A && cd .. && \
tar zcf ${bf}/${H}_${IP}_${cde}.$A.tgz $A
md5sum ${bf}/${H}_${IP}_${cde}.$A.tgz >${bf}/md5sum.passwd
export RSYNC_PASSWORD=123
rsync -az ${bf}/${H}_${IP}_${cde}.$A.tgz bck@10.0.0.41::backupmk
find $bf -mitime +7 ! -name '$bf' |xargs rm -rf

crontab -e
# 备份重要配置文件 编辑时间 编辑人:xxx
00 1 * * * /usr/bin/sh /etc/profile.d/bfpzwj.sh >>/dev/null

服务端

#配置邮箱

vim /root/jy.sh
#!/bin/bash
#主机名: 
H=$(hostname)
#内网IP: 
IP=$(hostname -I|awk '{print $2}')
#备份到哪: (前面/加后面不加)
na=/backup
#当前时间: 
#年月日 时分
C=$(date +%F-%R)
#年月日
D=$(date +%F)
#年月日时分秒
E=$(date +%F-%T)
cde=$D
#备份哪个目录:(前后都不要加根) 
A='etc'

bf=${na}/${H}_${IP}_${cde}
[ -d $bf ]||mkdir -p $bf

#校验
md5sum -c $na/${H}_${IP}_${cde}.$A.tgz.passwd|mail -s '${H}_${IP}_${cde}校验结果' 424525@qq.com
#清理
find /backup -mtime +180 ! -name 'backup' |xargs rm -rf

crontab -e
#校验备份结果 写入时间2020-5-8 9:00 xxx
00 6 * * * /usr/bin/sh /root/jy.sh

服务端脚本2

#配置邮箱

vim /etc/profile.d/bfpzwj.sh
#!/bin/bash
#主机名: 
H=$(hostname)
#内网IP: 
IP=$(hostname -I|awk '{print $2}')
#备份到哪: (前面/加后面不加)
na=/backup
#当前时间: 
#年月日 时分
C=$(date +%F-%R)
#年月日
D=$(date +%F)
#年月日时分秒
E=$(date +%F-%T)
cde=$D
#备份哪个目录:(前后都不要加根) 
A='etc'

bf=${na}/${H}_${IP}_${cde}
[ -d $bf ]||mkdir -p $bf

#校验1,适用于服务端上 /backup目录下 一个目录一台主机的 当天的 备份校验
cd $na/web01_172.16.17_${cde}
md5sum -c web01_172.16.17_${cde}.$A.tgz.md5sum.passwd |
mail -s 'web01_172.16.17_${cde}_rsync的校验结果' 424525@qq.com

#校验2,适用于服务端上 /backup目录下 多个目录多台主机 当天的 备份校验 (不显示IP)
#cd $na && \
#md5sum -c ./*${cde}.$A.tgz.md5sum.passwd |
#mail -s 'web01_172.16.17_${cde}rsync的校验结果' 424525@qq.com

#校验2,适用于服务端上 /backup目录下 多个目录多台主机 当天的 备份校验
#find $na -name '*${cde}.$A.tgz.md5sum.passwd' |xargs md5sum -c |
#mail -s 'web01_172.16.17_${cde}rsync的校验结果' 424525@qq.com

#清除
find $na ! -mtime -180 ! -name '/backup'|xargs rm -rf

crontab -e
#校验备份结果 写入时间2020-5-8 9:00 xxx
00 6 * * * /usr/bin/sh /etc/profile.d/bfpzwj.sh >>/dev/null

# crontab里多个闹钟的定时最好不要相同,也会存在某些命令不执行的情况,也会存在跨点的不执行
# 邮件频率太高(每分钟),会被限制(2小时左右)
posted @ 2020-05-08 15:46  看萝卜在飘  阅读(230)  评论(0编辑  收藏  举报