#!/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