MySql數據庫本地服務器備份策略

說明:我這里要把mysql數據庫存放目錄/var/lib/mysql下面的所有文件備份到/home/mysql_data里面 并且保存為mysql_data20121220.tar.gz的壓縮文件(20121220是指備份執行時當天的日期) 然后只保留最近7天的備份 1、創建保存備份文件的路徑:/home/mysql_data

說明:我這里要把MySql存放目錄/var/lib/mysql下面的所有文件備份到/home/mysql_data里面
并且保存為mysql_data20121220.tar.gz的壓縮文件(20121220是指備份執行時當天的日期)
然后只保留最近7天的備份

1、創建保存備份文件的路徑:/home/mysql_data
cd /home
mkdir mysql_data
2、創建備份腳本文件:/home/mysql_data/mysql_databak.sh

cd /home
cd mysql_data
touch mysql_databak.sh
vim mysql_databak.sh
輸入以下內容:
##################################################################################
#!/bin/sh
/etc/init.d/mysqld stop #執行備份前先停止MySql,防止有數據正在寫入,備份出錯
date=` date +%Y%m%d ` #獲取當前日期
DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份
BK_DR=/home/mysql_data #備份文件存放路徑
DB_DR=/var/lib/mysql #數據庫路徑
LINUX_USER=root #系統用戶名
tar zcvf $BK_DR/mysql_data$date.tar.gz $DB_DR #備份數據
/etc/init.d/mysqld start #備份完成后,啟動MySql
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改備份數據庫文件的所有者
find $BK_DR -name “mysql_data*” -type f -mtime +$DAYS -exec rm {} ; #刪除7天前的備份文件
##################################################################################

3、修改文件屬性,使其可執行

chmod +x /home/mysql_data/mysql_databak.sh

4、修改/etc/crontab
vi /etc/crontab
在下面添加

35 13 * * * root /home/mysql_data/mysql_databak.sh
表示每天13點35鐘執行備份

5、重新啟動crond使設置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #設為開機啟動
service crond start #啟動

每天你在/home/mysql_data目錄下面可以看到類似mysql_data20121220.tar.gz這樣的壓縮文件
如果需要恢復文件的時候,只需要把這個文件解壓即可
解壓縮tar -zxvf mysql_data20121220.tar.gz

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享