綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)數(shù)據(jù)庫(kù)類MySQL → 如何實(shí)現(xiàn)MySQL的自動(dòng)備份

如何實(shí)現(xiàn)MySQL的自動(dòng)備份

我要評(píng)論 2011/05/30 10:12:46 來(lái)源:綠色資源網(wǎng) 編輯:downcc.com [ ] 評(píng)論:0 點(diǎn)擊:170次

MySQL數(shù)據(jù)庫(kù)的備份是非常重要的工作之一,通過(guò)MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)備份就能夠?qū)崿F(xiàn)MySQL數(shù)據(jù)庫(kù)中數(shù)據(jù)的絕對(duì)安全,MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)不會(huì)因?yàn)槭裁葱」收隙鴣G失,自動(dòng)備份則是更為方便的一種備份方式,下文中將給出詳細(xì)的解析。

MySql自動(dòng)備份是非常關(guān)鍵的,特別是對(duì)于DBA來(lái)說(shuō)。這里主要用代碼來(lái)說(shuō)明這個(gè)問題,希望對(duì)各位有所幫助??梢詫⑦@個(gè)腳本放進(jìn)crontab,每天凌晨執(zhí)行一次,自動(dòng)備份。

這個(gè)腳本每天最多只執(zhí)行一次,而且只保留最近五天的備份在服務(wù)器上。

代碼:

#!/bin/bash

#ThisisaShellScriptForAutoDBBackup

#Poweredbyaspbiz

#2004-09

#Setting

#設(shè)置數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)登錄名,密碼,備份路徑,日志路徑,數(shù)據(jù)文件位置,以及備份方式

#默認(rèn)情況下備份方式是tar,還可以是mysqldump,mysqldotcopy

#默認(rèn)情況下,用root(空)登錄mysql數(shù)據(jù)庫(kù),備份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=

BackupPath=/root/

LogFile=/root/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#SettingEnd

NewFile="$BackupPath"db$(date+%y%m%d).tgz

DumpFile="$BackupPath"db$(date+%y%m%d)

OldFile="$BackupPath"db$(date+%y%m%d--date='5daysago').tgz

echo"-------------------------------------------">>$LogFile

echo$(date+"%y-%m-%d%H:%M:%S")>>$LogFile

echo"--------------------------">>$LogFile

#DeleteOldFile

if[-f$OldFile]

then

rm-f$OldFile>>$LogFile2>&1

echo"[$OldFile]DeleteOldFileSuccess!">>$LogFile

else

echo"[$OldFile]NoOldBackupFile!">>$LogFile

fi

if[-f$NewFile]

then

echo"[$NewFile]TheBackupFileisexists,Can'tBackup!">>$LogFile

else

case$BackupMethodin

mysqldump)

if[-z$DBPasswd]

then

mysqldump-u$DBUser--opt$DBName>$DumpFile

else

mysqldump-u$DBUser-p$DBPasswd--opt$DBName>$DumpFile

fi

tarczvf$NewFile$DumpFile>>$LogFile2>&1

echo"[$NewFile]BackupSuccess!">>$LogFile

rm-rf$DumpFile

;;

mysqlhotcopy)

rm-rf$DumpFile

mkdir$DumpFile

if[-z$DBPasswd]

then

mysqlhotcopy-u$DBUser$DBName$DumpFile>>$LogFile2>&1

else

mysqlhotcopy-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile2>&1

fi

tarczvf$NewFile$DumpFile>>$LogFile2>&1

echo"[$NewFile]BackupSuccess!">>$LogFile

rm-rf$DumpFile

;;

*)

/etc/init.d/mysqldstop>/dev/null2>&1

tarczvf$NewFile$DBPath$DBName>>$LogFile2>&1

/etc/init.d/mysqldstart>/dev/null2>&1

echo"[$NewFile]BackupSuccess!">>$LogFile

;;

esac

fi

echo"-------------------------------------------">>$LogFile

關(guān)于MySQL數(shù)據(jù)庫(kù)的自動(dòng)備份就為大家介紹到這里,大家按照上文中講解的步驟方法去進(jìn)行MySQL數(shù)據(jù)庫(kù)的自動(dòng)備份工作,相信您一定可以很好的完成MySQL數(shù)據(jù)庫(kù)的自動(dòng)備份工作。

關(guān)鍵詞:MySQL

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視