mysql還原所有庫

#!/bin/bash
#scripts sh batch_databasename.sh

bakfile=/data/dbbackup
logfile=/data/bak.log

dbuser=xxx
dbpasswd=xxx
ip=ifconfig | grep "inet addr"| grep Bcast| awk '{print $2}'| awk -F":" '{print $2}'

NowTime=$(date +%Y%m%d)

#ser_port=cat /usr/jyinit/serverlist | awk '{print $3}' | tr "\n" " "

serverlist=/usr/jyinit/serverlist

#time=13

read -p "請輸入需要恢復的數據的時間:(備份的小時數):" time ;echo $time

recovery_databases()
{

#庫刪除或重建
mysql -u$dbuser -p$dbpasswd -e "drop database if exists xmxyshxy${zoneid}"
echo "批量刪除xmxyshxy${zoneid} 完成"
mysql -u$dbuser -p$dbpasswd -e "create database if not exists xmxyshxy${zoneid}"
echo "批量創建xmxyshxy${zoneid} 完成"

#數據還原
cd $bakfile
#解壓備份文件
gzip -cdv ${NowTime}xmxy${pf}${zoneid}${time}.FullyBak.tar.gz > ${NowTime}xmxy${pf}${zoneid}${time}.FullyBak.sql
if (test -e ${NowTime}xmxy${pf}${zoneid}${time}.FullyBak.sql)
then
#解壓的sql導入到庫
mysql -u$dbuser -p$dbpasswd xmxy${pf}${zoneid} < ${NowTime}xmxy${pf}${zoneid}${time}.FullyBak.sql
echo xmxy${pf}${zoneid} backup success >> $logfile
else
echo xmxy${pf}${zoneid} backup fail >>$logfile
exit 1
fi
}

while read noteline
do
if [ -z "echo $noteline | grep -v ^$" ]; then
continue
fi

commentflag=${noteline:0:1}
if [ "${commentflag}"x == "#"x ]; then
            continue
fi

pf=`echo $noteline | awk '{print $1}'`
zoneid=`printf "$noteline" | awk '{print $2}' ` 
echo $zoneid
echo $pf

recovery_databases 

done<$serverlist

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章