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/

          主站蜘蛛池模板: 喀喇| 铁岭县| 年辖:市辖区| 广水市| 孟村| 横峰县| 扶绥县| 临汾市| 舞阳县| 古蔺县| 望城县| 东光县| 通州市| 嘉荫县| 榆树市| 鄂伦春自治旗| 惠东县| 秭归县| 南昌县| 台安县| 灵寿县| 那曲县| 全南县| 凤山市| 富宁县| 睢宁县| 武定县| 景德镇市| 通渭县| 驻马店市| 洪雅县| 通化市| 南雄市| 河北区| 通榆县| 无锡市| 广昌县| 禹城市| 绵竹市| 昭觉县| 贵定县|