Mysql 备份脚本 MD5

#!/bin/bash
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
#declare -a MD5
basedir=/usr/src
datadir=/data/backup/mysqldb
backlist1=/usr/src/backlist1
backlist2=/usr/src/backlist2
backlist3=/usr/src/backlist3
backlist4=/usr/src/backlist4
backlist5=/usr/src/backlist5
backlist6=/usr/src/backlist6
datamd1=/usr/src/datalist1
datamd2=/usr/src/datalist2
datamd3=/usr/src/datalist3.md5
datamd4=/usr/src/datalist4
datamd5=/usr/src/datalist5
datamd6=/usr/src/datalist6
datalist=/usr/src/datalist
#################################
mongodbfile=/data/backup/mongodb
filelist1=/usr/src/filelist1
filelist2=/usr/src/filelist2
filelist3=/usr/src/filelist3
filelist4=/usr/src/filelist4
md5file1=/usr/src/mongodb1.md5
md5file2=/usr/src/mongodb2.md5
mongobackup=/data/backup/mongobackup/mongodb208
mongobackup235=/data/backup/mongobackup/mongodb235
######################################################################################
DataMd1() {
if  ansible databases1 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist1}
RESOFU=$?
[ $RESOFU -ne 0 ]; then 
echo "Command Execution Eroor"
return $RESOFU
else 
MD1=`cat ${backlist1}`
for i in $MD1
do
if ansible databases1  -m command -a "md5sum $datadir/$i" >>  ${datamd1} 
RESOFG=$?
[ ${RESOFG} -ne 0 ]; then
echo "Command Execution Error"
return $RESOFG
else 
echo "Yes"
fi
done
fi
}
#####################################################################################
DataMd2() {
if  ansible databases2 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist2}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD2=`cat ${backlist2}`
for i in $MD2
do
if ansible databases2  -m command -a "md5sum $datadir/$i" >>  ${datamd2}
RESOFG=$?
[ $RESOFG -ne 0 ]; then
echo "Command Execution Error"  &&   ansible databases1  -m command -a "md5sum $datadir/$i" >>  ${datamd2} ||
echo "Command Unable Execution" &&  exit 3
else 
echo "Command Secsessfu"
fi
done
fi
}
######################################################################################
DataMd3() {
scp  ${datamd1} root@192.168.1.207:${datadir}/
if  ansible  databackup1 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist3}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD3=`cat ${backlist3}`
for i in $MD3
do
ansible  databackup1  -m command -a "md5sum $datadir/$i -c $datadir/datalist1" > $basedir/checkmd5sum
mail  -s '192.168.1.206 md5sum  192.168.1.207 is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checkmd5sum
if [ $? -eq 0 ]
 then
break 
fi
done
fi
}
####################################################################################
DataMd4() {
scp  ${datamd2} root@192.168.1.203:${datadir}/
if  ansible  databackup2 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist4}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD4=`cat ${backlist4}`
for i in $MD4
do
 ansible  databackup2  -m command -a "md5sum $datadir/$i -c $datadir/datalist2" > $basedir/checkmd5sum203
mail  -s '192.168.1.182 md5sum  192.168.1.203 is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checkmd5sum203
if [ $? -eq 0 ]
 then
break
fi
done
fi
}
####################################################################################
DataMd5() {
scp  ${datamd1} root@192.168.1.210:${datadir}/
if  ansible  databackup3 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist5}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD5=`cat ${backlist5}`
for i in $MD5
do
 ansible  databackup3  -m command -a "md5sum $datadir/$i -c $datadir/datalist1" > $basedir/checkmd5sum1
mail  -s '192.168.1.206 md5sum  192.168.1.210 is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checkmd5sum1
if [ $? -eq 0 ]
 then
break
fi
done
fi
}
####################################################################################
DataMd6() {
scp  ${datamd2} root@192.168.1.198:${datadir}/
if  ansible  databackup4 -m command -a "ls ${datadir}" | grep '^all' >  ${backlist6}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD6=`cat ${backlist6}`
for i in $MD6
do
 ansible  databackup4  -m command -a "md5sum $datadir/$i -c $datadir/datalist2" > $basedir/checkmd5sum198
mail  -s '192.168.1.182  md5sum  192.168.1.198 is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checkmd5sum198
if [ $? -eq 0 ]
 then
break
fi
done
fi
}
#############################################################################################

Mongodb1() {
if  ansible mongodb1 -m command -a "ls ${mongodbfile}"  | grep mongodb >  ${filelist1}
RESOFU=$?
[ $RESOFU -ne 0 ]; then
echo "Command Execution Eroor"
mail  -s '192.168.1.208 list files  Execution  Failure'  magedufoxmail@163.com zhanghui@cailang.com
return $RESOFU
else
MD1=`cat ${filelist1}`
for i in $MD1
do
if ansible  mongodb1   -m command -a "md5sum ${mongodbfile}/$i" >>  ${md5file1}
RESOFG=$?
[ ${RESOFG} -ne 0 ]; then
echo "Command Execution Error"
mail  -s '192.168.1.208 md5sum  Execution  Failure'  magedufoxmail@163.com zhanghui@cailang.com
return $RESOFG
else
echo "Yes"
fi
done
fi


}
Mongodb2() {
if  ansible mongodb2 -m command -a "ls ${mongodbfile}"  | grep mongodb  >  ${filelist2}
RESOFU=$?
[ $RESOFU -ne 0 ]; then
echo "Command Execution Eroor"
mail  -s '192.168.1.235 list files  Execution  Failure'  magedufoxmail@163.com zhanghui@cailang.com
return $RESOFU
else
MD1=`cat ${filelist2}`
for i in $MD1
do
if ansible  mongodb2   -m command -a "md5sum ${mongodbfile}/$i" >>  ${md5file2}
RESOFG=$?
[ ${RESOFG} -ne 0 ]; then
echo "Command Execution Error"
mail  -s '192.168.1.235 md5sum  Execution  Failure'  magedufoxmail@163.com zhanghui@cailang.com
return $RESOFG
else
echo "Yes"
fi
done
fi
}

Mongodb3() {
if [ ! -f ${md5file11} ] ; then
echo "file not exits"
break 
else 
echo "file ${mdfile1}" &&
if scp  ${md5file1}     root@192.168.1.201:/root/
RESO=$?
[ $RESO -ne 0 ]; then
echo  "Command Execution Eroor"
return $RESOFU
else
echo "YES" &&
ansible mongodb3 -m command -a 'sed -i  "s@/data/backup/mongodb/@/data/backup/mongobackup/mongodb208/@g" /root/mongodb1.md5'
RETO=$?
if [ ${RETO} -ne 0 ]; then
echo "Command Execution Error"
return ${RETO}
else 
echo "YES" &&
if  ansible  mongodb3 -m command -a "ls ${mongobackup}" | grep  'mongodb' >  ${filelist3}
RESOFU=$?
[ ${RESOFU} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFU
else
MD6=`cat ${filelist3}`
for t in $MD6
do
echo $t
ansible  mongodb3   -m command -a "md5sum  ${mongobackup}/$t -c  /root/mongodb1.md5" >  $basedir/checksum201
mail  -s '192.168.1.208 and 192.168.1.201 md3sum  is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checksum201
if [ $? -eq 0 ] 
then
break
fi
done
fi
fi
fi
if [ ! -f ${md5file2} ] ; then
echo "file not exits"
break
else
echo "file ${mdfile2}" &&
if scp  ${md5file2}     root@192.168.1.201:/root/
RESO=$?
[ $RESO -ne 0 ]; then
echo  "Command Execution Eroor"
return $RESOFU
else
echo "YES"  &&
ansible mongodb3 -m command -a 'sed -i   "s@/data/backup/mongodb/@/data/backup/mongobackup/mongodb235/@g" /root/mongodb2.md5'
RETO=$?
if [ ${RETO} -ne 0 ]; then
echo "Command Execution Error"
return ${RETO}
else
echo "YES" &&
if  ansible  mongodb3 -m command -a "ls ${mongobackup235}" | grep  'mongodb' >  ${filelist4}
RESOFT=$?
[ ${RESOFT} -ne 0 ]; then
echo "Command Execution Eroor"
return $RESOFT
else
MD5=`cat ${filelist4}`
for f in $MD5
do
ansible  mongodb3   -m command -a "md5sum  ${mongobackup235}/$f -c  /root/mongodb2.md5" >  $basedir/checksum235
mail  -s '192.168.1.235 and 192.168.1.201 md3sum  is Ont  Ok .......'  magedufoxmail@163.com zhanghui@cailang.com < $basedir/checksum235
if [ $? -eq 0 ]
then
break
fi
done
fi
fi
fi
fi
fi
}



#######################################################################################
erpmv (){
mv  ${basedir}/* /usr/local/firefox
}
DataMd1
DataMd3
DataMd5
DataMd2
DataMd4
DataMd6
Mongodb1
Mongodb2
Mongodb3
erpmv

 

posted @ 2015-01-29 15:08  想想宝宝  阅读(356)  评论(0)    收藏  举报