數據備份與還原

#!/bin/bash
#Author@Laomeng 
#E_mail:[email protected]
#Function:Backup CC database and table
CCVERSION=`asterisk -rx "" | head -2|tail -1 | gawk '{print $5}'`
LMYSQL="/usr/bin/mysqldump"
LMMSQL1="/usr/bin/mysql"
LUSUER="********"
LPASSWORD="*************"
LGZIP="/bin/gzip"


#備份_RC009整個庫
function CC06DATABAK {
    #clear 
    for CC52N06D in asterisk asteriskcdrdb outbound
     do
      $LMYSQL -u$LUSUER -p$LPASSWORD $CC52N06D | $LGZIP>/home/$CC52N06D.sql.zip
     done
}
#還原RC009整個庫
function CC06REDUCTIOND {
  clear 
  gunzip </home/asterisk.sql.zip      | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD asterisk
  gunzip </home/asteriskcdrdb.sql.zip | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD asteriskcdrdb
  gunzip </home/outbound.sql.zip      | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD outbound

}

#備份RC009客戶資料
function CC06TABLEBAK {
  clear
  for CC52N06T in outbound 
  do
    for LNAME in o_connection o_customfields o_customtable o_customtype
    do
    $LMYSQL -u$LUSUER -p$LPASSWORD $CC52N06T $LNAME | $LGZIP>/home/$LNAME.sql.zip
    done
  done
}
#還原備份RC009客戶資料
function CC06REDUCTIONT {
  clear 
  gunzip </home/o_connection.sql.zip  | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD outbound
  gunzip </home/o_customfields.sql.zip| $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD outbound
  gunzip </home/o_customtable.sql.zip | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD outbound
  gunzip </home/o_customtype.sql.zip  | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD outbound
}
#備份V123整個庫
function V60DATABAK {
    clear
    for V60D in asterisk asteriskcdrdb uncall_db
    do
    $LMYSQL -u$LUSUER -p$LPASSWORD $V60D | $LGZIP>/home/$V60D.sql.zip
    done
}
#還原V123整個庫
function RED60DATA {
  clear
  gunzip </home/asterisk.sql.zip      | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD asterisk
  gunzip </home/asteriskcdrdb.sql.zip | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD asteriskcdrdb
  gunzip </home/uncall_db.sql.zip      | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD uncall_db
}
#備份V123客戶資料
function V60TABLEBAK {
   clear
   for V601T in uncall_db
   do 
     for V60T in u_connection u_connection_wish u_customfields u_customtype
      do
       $LMYSQL -u$LUSUER -p$LPASSWORD $V601T $V60T | $LGZIP>/home/$V60T.sql.zip
       done
  done
}
#還原*****客戶資料
function RED60TABLE {
  clear
  gunzip </home/u_connection.sql.zip      | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD uncall_db
  gunzip </home/u_connection_wish.sql.zip | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD uncall_db
  gunzip </home/u_customfields.sql.zip    | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD uncall_db
  gunzip </home/u_customtype.sql.zip  | $LMMSQL1 -h localhost  -u$LUSUER -p$LPASSWORD uncall_db  
}

#查看備份文件
function LCAT {
  clear
  cd /home/
  pwd
  ls -il  *.sql.zip |sort -n |awk 'BEGIN {FS="."} {print $1}'
}

if [ "$CCVERSION" = "52N-RC-06" ]; then
PS3="Enter option: "
select option in "備份整個庫  "  "備份客戶資料" "還原整個庫  " "還原客戶資料" "查看備份文件" "重啓mysql" "退出功能          "
do
  case $option in
  "退出功能          ")
        break;;
  "備份整個庫  ")
   if [ ! -f "/home/asterisk.sql.zip" ]; then
        clear
        CC06DATABAK
      else
        clear
        cd /home
        mkdir kudata`date +%M%d%y`
        mv asterisk.sql.zip  asteriskcdrdb.sql.zip outbound.sql.zip  kudata`date +%M%d%y`
         CC06DATABAK
        ls -il a*.sql.zip outbound.sql.zip |sort -n |awk 'BEGIN {FS="."} {print $1}'
    fi;;

  "備份客戶資料")
   if [ ! -f "/home/o_connection.sql.zip" ]; then
        clear
        CC06TABLEBAK
      else
        clear
        cd /home
        mkdir kehuziliao`date +%M%d%y`
        mv o_connection.sql.zip o_customfields.sql.zip o_customtable.sql.zip o_customtype.sql.zip kehuziliao`date +%M%d%y`
        CC06TABLEBAK
        ls -il o_*.sql.zip |sort -n |awk 'BEGIN {FS="."} {print $1}'
   fi;;
  "還原整個庫  ")
        CC06REDUCTIOND;;
  "還原客戶資料")
       CC06REDUCTIONT;;
  "查看備份文件")
       LCAT;;
  "重啓mysql")
   clear
   /etc/init.d/mysqld  restart;;
  *)
   clear
   echo "sorry,wrong selection";;
  esac
  done
  clear
else
  echo "The CC Version doesn't 52N-RC-06"
fi
![這裏寫圖片描述](http://r.photo.store.qq.com/psb?/V11lls3J16b4bz/cr2Mt7ZWQo6i1tMAOWYQkkaXdU7HRkeuN17M7k4qQXo!/o/dOnRtuPpNgAA&ek=1&kp=1&pt=0&bo=0gJQAdICUAEDACU!&su=148859985&sce=0-12-12&rf=2-9%20%20%20title)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章