centos7 下進行資料庫自動備份
阿新 • • 發佈:2019-01-29
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