MySQL在CentOS上執行自動備份

? ? 開發中我們常常有使用Svn或者Git來管理我們的代碼或者是項目相關的文件,然而他們都有一個共同點就是:版本控制

? ? 很多人會問為什么要使用Svn或者是Git,那么我會問:我相信你寫的代碼很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代碼中有一個比較重要的算法你不小心覆蓋掉了,這時候你應該怎么辦?

? ? 推薦 《mysql視頻教程》

? ? 或許你會告訴我你可以在修改這些代碼之前備份一次當前修改的文件,或者是當前項目。

? ? 但是時間久了你的機器上會有多少備份文件呢?

? ? 如果有一天你的同事需要回滾到之前的代碼看一下那時候Bug的原因,你會從你的機器上找到指定時間的文件發給他嘛?

? ? 當然不是,我們有Svn或者是Git之后我們可以方便的看到文件之前的版本,還可以方便的對比。那么現在清楚了版本控制的重要性了。

? ? 同樣數據庫也是這樣,我們的系統99%都離不開數據庫,因為我們總要把數據存儲起來。

? ? 那如果我們數據庫被誤刪、被黑客入侵、被惡意修改怎么辦?

? ? 那么我們可以試著讓我們的服務器自動來幫我們備份數據庫的數據到指定位置,萬一有一天我們的數據庫不小心手抖了,我們還可以用備份下來的數據庫腳本直接恢復。

上腳本:

#?db?username db_user="test"?? #?db?password db_passwd="test" #?db?host db_host="121.201.5.216" #?backup?db?name db_name="Alterem"?? #?the?directory?for?story?your?backup?file.?? backup_dir="backup"??cd? #?date?format?for?backup?file?(dd-mm-yyyy)?? time="$(date?+"%Y-%m-%d-%H-%M-%S")"?? #?mysql,?mysqldump?and?some?other?bin's?path?? MYSQL="/usr/local/mysql/bin/mysql"?? MYSQLDUMP="/usr/local/mysql/bin/mysqldump"?? GZIP="/bin/gzip"?? ?? $MYSQLDUMP?-u?$db_user?-h?$db_host?-p$db_passwd?$db_name?|?$GZIP?-9?>?"/data/backup/$backup_dir/$db_name"_"$time.gz"

創建定時器

crontab?-e

添加定時器

#?每天凌晨?1?點?30?分?進行數據備份 30??1??*??*??*?/root/mysql-backup.sh

重啟定時器

/etc/rc.d/init.d/crond?restart

cron解析

#?For?details?see?man?4?crontabs #?Example?of?job?definition: #?.----------------?minute?(0?-?59) #?|??.-------------?hour?(0?-?23) #?|??|??.----------?day?of?month?(1?-?31) #?|??|??|??.-------?month?(1?-?12)?OR?jan,feb,mar,apr?... #?|??|??|??|??.----?day?of?week?(0?-?6)?(Sunday=0?or?7)?OR?sun,mon,tue,wed,thu,fri,sat #?|??|??|??|??| #?*??*??*??*??*?user-name?command?to?be?executed復制代碼

在線cron表達式生成器:http://cron.qqe2.com/

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