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

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

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

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