Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          一個Mysql自動備份腳本(轉)

          可以將這個腳本放進crontab,每天凌晨執行一次,自動備份這個腳本每天最多只執行一次,而且只保留最近五天的備份在服務器上。

            代碼:

          #!/bin/bash
          #This is a ShellScript For Auto DB Backup
          #Powered by SearchDatabase
          #2005-09

          #Setting
          #設置數據庫名,數據庫登錄名,密碼,備份路徑,日志路徑,數據文件位置,以及備份方式
          #默認情況下備份方式是tar,還可以是mysqldump,mysqldotcopy
          #默認情況下,用root(空)登錄mysql數據庫,備份至/root/dbxxxxx.tgz
          DBName=mysql
          DBUser=root
          DBPasswd=
          BackupPath=/root/
          LogFile=/root/db.log
          DBPath=/var/lib/mysql/
          #BackupMethod=mysqldump
          #BackupMethod=mysqlhotcopy
          #BackupMethod=tar
          #Setting End


          NewFile="$BackupPath"db$(date +%y%m%d).tgz
          DumpFile="$BackupPath"db$(date +%y%m%d)
          OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz

          echo "-------------------------------------------" >> $LogFile
          echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
          echo "--------------------------" >> $LogFile
          #Delete Old File
          if [ -f $OldFile ]
          then
             rm -f $OldFile >> $LogFile 2>&1
             echo "[$OldFile]Delete Old File Success!" >> $LogFile
          else
             echo "[$OldFile]No Old Backup File!" >> $LogFile
          fi

          if [ -f $NewFile ]
          then
             echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
          else
             case $BackupMethod in
             mysqldump)
                if [ -z $DBPasswd ]
                then
                   mysqldump -u $DBUser --opt $DBName > $DumpFile
                else
                   mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
                fi
                tar czvf $NewFile $DumpFile >> $LogFile 2>&1
                echo "[$NewFile]Backup Success!" >> $LogFile
                rm -rf $DumpFile
                ;;
             mysqlhotcopy)
                rm -rf $DumpFile
                mkdir $DumpFile
                if [ -z $DBPasswd ]
                then
                   mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
                else
                   mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
                fi
                tar czvf $NewFile $DumpFile >> $LogFile 2>&1
                echo "[$NewFile]Backup Success!" >> $LogFile
                rm -rf $DumpFile
                ;;
             *)
                /etc/init.d/mysqld stop >/dev/null 2>&1
                tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
                /etc/init.d/mysqld start >/dev/null 2>&1
                echo "[$NewFile]Backup Success!" >> $LogFile
                ;;
             esac
          fiecho "-------------------------------------------" >> $LogFile

          posted on 2007-09-18 22:54 都市淘沙者 閱讀(188) 評論(0)  編輯  收藏 所屬分類: Oracle/Mysql/Postgres/

          主站蜘蛛池模板: 博白县| 兰溪市| 凭祥市| 花莲县| 区。| 来宾市| 石屏县| 尚义县| 禄劝| 沁源县| 武义县| 宜良县| 米易县| 东莞市| 内乡县| 抚松县| 和顺县| 嘉定区| 九龙城区| 鄂州市| 武川县| 南郑县| 扶风县| 塔河县| 耿马| 焦作市| 赞皇县| 蒙阴县| 天祝| 万年县| 汕尾市| 长治市| 延津县| 青川县| 温泉县| 库尔勒市| 民乐县| 夏河县| 班玛县| 宕昌县| 盐源县|