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

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

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

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