數據庫定時備份linux

前提需要保證你的Linux服務器已經安裝了MYSQl數據庫服務。

1、創建shell腳本

vim backupdb.sh

 導出二進制數據壓縮包

#!/bin/sh
/usr/bin/mysqldump -B -uroot -p123456 team | gzip>/home/backup/$(date +"%Y%m%d%H%M%S").sql

導出sql數據

#!/bin/sh
/usr/bin/mysqldump -uroot -p123456 team | gzip>/home/backup/$(date +"%Y%m%d%H%M%S").sql

創建腳本內容如下:

#!/bin/sh

db_user="root"

db_passwd="123456"

db_name="userdb"

name="$(date +"%Y%m%d%H%M%S")"

/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql

說明:

/usr/bin/mysqldump :mysql數據庫安裝目錄下的mysqldump備份工具路徑

dbname :需要備份的數據庫名字

/home/backup/$name.sql :備份文件輸出位置,可以根據情況自行設定

2、給shell腳本添加執行權限

chmod +x backupdb.sh

3、給腳本添加定時任務

crontab -e

輸入上一行命名進入編輯定時任務,最後添加如下內容

00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh

上面定時任務意思是每天凌晨1點會執行自動備份腳本,進行MYSQl數據庫的定時備份。

4.數據還原

導出爲sql數據還原

mysql -uroot -p123456 ctrl</home/backup/20200303194811.sql

導出爲二進制壓縮包還原

 

crontab文件的說明:

用戶創建的crontab文件中,每一行都代表一項定時任務,每行的每個字段代表一項設置,它的格式每行共分爲六個字段,前五段是時間設定字段,第六段是要執行的命令字段。

格式如下:minute hour day month week command

參數說明:

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這裏的0或7代表星期日。

command:要執行的命令,可以是Linux系統命令,也可以是自己編寫的腳本文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章