1. 程式人生 > 實用技巧 >Ubuntu mysql設定自動備份

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);