前提需要保證你的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系統命令,也可以是自己編寫的腳本文件。