如何用crontab系統每天定時備份MySQL資料庫
利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的'目的。
1、建立儲存備份檔案的路徑/mysqldata
#mkdir /mysqldata
2、建立/usr/sbin/bakmysql檔案
#vi/usr/sbin/bakmysql
輸入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz/var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p980405> /mysqldata/mysql$rq.tar.gz
/var/lib/mysql是你資料庫檔案的目錄,部分使用者是/usr/local/mysql/data,每個人可能不同
/mysqldata/表示儲存備份檔案的目錄,這個每個人也可以根據自己的要求來做。
3、修改檔案屬性,使其可執行
#chmod+x/usr/sbin/bakmysql
4、修改/etc/crontab
#vi/etc/crontab
在下面新增
013***root/usr/sbin/bakmysql
表示每天3點鐘執行備份
5、重新啟動crond
#/etc/rc.d/init.d/crondrestart
完成。
這樣每天你在/mysqldata可以看到這樣的檔案
mysql20040619.tar.gz
你直接下載就可以了。
在tar命令執行前,停止資料庫服務程序或鎖定資料庫,
否則恢復資料時,會出現資料庫損壞的情形,運氣好時可修復,運氣不好時就不可以了。