1. 程式人生 > >centos7 下進行資料庫自動備份

centos7 下進行資料庫自動備份

1、檢視磁碟空間情況:

# df -h
 Size:大小
Used:使用
Avail:可用
Use%:使用率
Mounted on:位置
Filesystem :檔案系統

選擇磁碟大的進行備份

2、建立備份目錄:

假設我們使用命令看出 /dev 下磁碟比較友好

cd /dev   ---進入dev資料夾
mkdir backup ---建立資料夾 cd backup

3、建立備份Shell指令碼:

注意把以下命令中的DatabaseName換為實際的資料庫名稱; 
當然,你也可以使用其實的命名規則!

vi bkDatabaseName.sh

輸入/貼上以下內容:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

對備份進行壓縮:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意: 
把 username 替換為實際的使用者名稱; 
把 password 替換為實際的密碼; 
把 DatabaseName 替換為實際的資料庫名;

4、新增可執行許可權:

chmod u+x bkDatabaseName.sh

新增可執行許可權之後先執行一下,看看指令碼有沒有錯誤,能不能正常使用;

./bkDatabaseName.sh

注意語法錯誤,如果資料庫密碼中有特殊字元可以用單引號括起來

5、新增計劃任務

檢測或安裝 crontab

確認crontab是否安裝: 
執行 crontab 命令如果報 command not found,就表明沒有安裝

# crontab
-bash: crontab: command not found

安裝命令:
yum install vixie-cron
yum install crontabs

新增計劃任務

執行命令:

crontab -e

這時就像使用vi編輯器一樣,可以對計劃任務進行編輯。 
輸入以下內容並儲存:

00 23 * * * /home/backup/bkDatabaseName.sh 執行命令

 每天的23點進行一次備份


注意是否啟用了定時任務 沒有啟用任務就會失敗
啟動:/sbin/service crond status
停止:/sbin/service crond stop
重啟:/sbin/service cround restart
刪除所有定時任務 crontab -r