Ubuntu mysql設定自動備份
轉自:https://zhuanlan.zhihu.com/p/86155589
建立指令碼自動每天某個時間對mysql進行資料備份
1、建立備份檔案以及備份指令碼所在的目錄
在我的目錄下面設定 cd /home/dilligencer/
mkdir data_backup
2、修改mysql備份配置檔案
這種相比於在將使用者名稱和密碼寫在bash腳本里面,會更加安全一些。
sudo vim /etc/mysql/conf.d/mysqldump.cnf
mysqldump.cnf檔案新增以下內容:
host=127.0.0.1
user=**** # mysql 使用者名稱
password=*** # mysql
3、編寫shell指令碼, 放在data_backup方便管理
vim bkmysql.sh
bkmysql.sh檔案內容:
rq=date +%Y%m%d
mysqldump databasename >/home/ubuntu/data_backup/databasename$rq.sql
注:
注:第一行是定義一個變數rq(日期),注意標點符號是`(英文狀態下按Esc下面那個鍵)不是',然後取了系統的date中的年Y月m日d,date和+號之間有空格。
databasename設定為要備份的資料庫的名字,>表示重定向,後面的引數表示檔案存放的地址和檔名,其中$rq表示引用第一行的變數rq。
修改備份指令碼檔案許可權:
chmod 777 mysqlbk.sh
這裡將mysqlbk.sh的許可權設定為任何使用者可以讀、寫、執行,具體許可權設定可以自行設定。
測試:
sh bkmysql.sh;看會不會出現相應的資料庫備份檔案
4、配置定時器
修改定時器配置檔案crontab:
sudo vim /etc/crontab
crontab檔案新增以下內容:
30 0 * * * root /home/ubuntu/data_backup/bkmysql.sh
注:"30 0 * * *"表示每天00:30執行,root為戶,/home/ubuntu/data_backup/bkmysql.sh指向備份shell指令碼檔案。
crontab配置完成後,需要重新啟動服務:
重新啟動(sudo /etc/init.d/cron restart);