目錄
- 場景:服務(wù)器數(shù)據(jù)庫需要實現(xiàn)每天定時備份
- 1.首先確定備份腳本放置位置
- 2.編寫shell腳本
- 3.給bash增加權(quán)限
- 4.測試看看腳本是否是正確可執(zhí)行的
- 5.打開定時任務(wù)
- 6.編輯內(nèi)容
- 7.查看定時任務(wù) crontab -l
- 8.踩坑
- 服務(wù)器數(shù)據(jù)實現(xiàn)還原
- 1. 首先對定時任務(wù)備份的數(shù)據(jù)進行解壓
- 2.接著將數(shù)據(jù)導(dǎo)入到database中
場景:服務(wù)器數(shù)據(jù)庫需要實現(xiàn)每天定時備份
1.首先確定備份腳本放置位置
個人放置在 /usr/local/backup文件下,取名文件 bkDatabase.sh
2.編寫shell腳本
# 需要注意幾點
# 1. -password 如果密碼出現(xiàn)括號或下劃線請將password用雙引號引用起來
# 2. 該腳本是將數(shù)據(jù)庫course1進行備份,并進行壓縮處理
# 3. 備份后的文件名稱叫course,并附帶時間戳
mysqldump -uroot -ppassword course1 | gzip > /usr/local/backup/course_$(date +%Y%m%d_%H%M%S).sql.gz
3.給bash增加權(quán)限
4.測試看看腳本是否是正確可執(zhí)行的
5.打開定時任務(wù)
# 第一次設(shè)置定時任務(wù)可能回讓你輸入編輯定時任務(wù)的vim,選擇basic就可以
crontab -e
6.編輯內(nèi)容
我這兒有三個定時任務(wù) 如圖:

其中第二個
# 表示每分鐘執(zhí)行一次,執(zhí)行的腳本為/usr/local/backup/bkDatabase.sh
*/1 * * * * /usr/local/backup/bkDatabase.sh
7.查看定時任務(wù) crontab -l
可以看到是否添加成功(如圖)

在備份目錄中查看是否成功
8.踩坑
有些定時任務(wù)是關(guān)閉的,使用命令查看crond
是否正常service
crond status

若正常不用管,若未啟動,則重啟一次。
針對不同的linux版本,發(fā)行版有這個service
重啟服務(wù)命令:[root@centos6 /]# service crond restart
啟動服務(wù)命令:[root@centos6 /]# service crond start
停止服務(wù)命令:[root@centos6 /]# service crond stop
發(fā)行版沒有這個service
停止服務(wù):[root@centos6 /]# /etc/init.d/cron stop
啟動服務(wù):[root@centos6 /]# /etc/init.d/cron start
服務(wù)器數(shù)據(jù)實現(xiàn)還原
這兒踩坑太多,注意解壓gz文件方式!!!
1. 首先對定時任務(wù)備份的數(shù)據(jù)進行解壓
注意,是對上面產(chǎn)生的course_20190511_214326.sql.gz進行解壓
# 將gz文件進行解壓,產(chǎn)生course_20190511_214326.sql文件
gunzip course_20190511_214326.sql.gz
2.接著將數(shù)據(jù)導(dǎo)入到database中
如果目標(biāo)服務(wù)器沒有你要的database,你需要create database 目標(biāo)數(shù)據(jù)庫;
# 將備份文件sql通過<符號送入到course表中 mysql -u root -p表示實用mysql數(shù)據(jù)庫
mysql -u root -p course< course_20190511_214326.sql
接著會提示Enter Password,輸入mysql密碼即可實現(xiàn)導(dǎo)入
以上就是Linux定時備份數(shù)據(jù)庫實現(xiàn)方式的詳細內(nèi)容,更多關(guān)于Linux定時備份數(shù)據(jù)庫的資料請關(guān)注腳本之家其它相關(guān)文章!