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