mysql數據庫自動備份

首先感謝51cto技術羣的blackanger,是他幫助指導我完成了這個作業,再次感謝
 
爲了減輕DBA的工作,數據庫自動備份當然少不了,今天我和大家一起來學習通過crontab實現mysql數據的自動備份
 
 
我們在/etc/cron.daily/目錄下創建文件backup內容如下
 
#!/bin/bash
#定義變量name的值,/bin/date日期格式爲Y年-m月-d日
name=`/bin/date "+%Y-%m-%d"`  
#/usr/bin/mysqldump  備份數據庫的命令路徑
#-u root 數據庫的用戶名
#-p password 數據庫的密碼把password替換成你自己的密碼
#--opt database 你要備份的數據庫 如果要備份所有的庫你可以把--opt database替換成--all-databases前面那個database是你數據庫的名字,後面的databases是mysqldump的參數別搞混了
#/home/backup/database$name.sql這個是數據庫備份的路徑,$符號後面的name就是最前面定義的那個日期,備份的文件將會以你自己定義的文件名加當時的日期來命名
/usr/bin/mysqldump -u root -ppassword --opt test  > /home/backup/test$name.sql 
#這個就是備份所有數據庫的命令,和前面的有點小差別
/usr/bin/mysqldump -u root -ppassword --all-databases | gzip --fast > /home/backup/full$name.gz
不一樣的地方就是把--opt改成了--all-databases,再就是後面的壓縮參數gzip,這個參數也可以使用到前面的那個單個數據庫的備份命令中
保存退出
#修改文件backup爲可執行文件
chmod +x /etc/cron.daily/backup
進入crontab的配置文件
# cat /etc/crontab
#每小時執行一次/etc/cron.hourly/目錄下的文件
01 * * * * root run-parts /etc/cron.hourly
#每天執行一次/etc/cron.hourly/目錄下的文件,執行時間是04點
00 04 * * * root run-parts /etc/cron.daily
#每週執行一次/etc/cron.hourly/目錄下的文件,每週的第一天04點22分
22 4 * * 0 root run-parts /etc/cron.weekly
每月執行一次/etc/cron.hourly/目錄下的文件,每月的第一天04點42分
42 4 1 * * root run-parts /etc/cron.monthly
剛纔我們已經把backup腳本創建到了/etc/cron.daily這個目錄下,也就是每天04點都會自動執行腳本做數據庫的備份了
#重啓crond服務
service crond restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章