linux 利用crontab,系統每天定時備份mysql數據庫


數據庫的重要性不言而喻,那么數據庫的備份就顯得非常重要了,手動人工備份肯定工作量大,而且有可能還會出錯.
這里講講利用linux的crontab每天定時備份mysql數據庫

兩點要求

(1)每天定時備份,可在深夜進行,以免影響服務器;

(2)自動刪除上個月老的備份文件,但保留上月最后幾天的備份。

1、創建保存備份文件的路徑/mysqldata
#mkdir /usr/local/mysqldata

  

2、創建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql

 

rq=` date +%Y%m%d `
tar zcvf /usr/local/mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqldump ——all-databases -u root -p密碼 > /mysqldata/mysql$rq.sql

/var/lib/mysql是你數據庫文件的目錄,部分用戶是/usr/local/mysql/data,每個人可能不同
/mysqldata/表示保存備份文件的目錄,這個每個人也可以根據自己的要求來做。

 

3、修改文件屬性,使其可執行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3點鍾執行備份

5、重新啟動crond
# /etc/rc.d/init.d/crond restart
完成。

這樣每天你在/mysqldata可以看到這樣的文件

mysql20040619.tar.gz

 

定時備份

使用系統的crontab

crontab -e

# m h  dom mon dow   command
0 3 * * * /var/backup/backup-mysql.sh


時間的格式是

分 時 日 月 周

上面的例子是指定每天3點備份一次數據庫


提高:

當然,還可以加上一些更好的功能,如

備份后的文件壓縮一下,這個很簡單

只保留最近xx天的備份文件,這個要稍微復雜一點點

使用mysql二進制增量備份……

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM