Xtrabackup每週增量備份指令碼程式

weixin_33816946發表於2016-07-14

Xtrabackup每週增量備份指令碼程式(含附件)

 

程式描述

本程式是一個對percona xtrabackup使用的指令碼,它完成了MySQL每週的備份。

程式結構

此程式包含了4個目錄(bin、conf、log、var):

  • bin:存放執行備份的主指令碼程式(*.sh)。
  • conf:存放著程式執行的配置檔案變數(*.conf)。
  • log:存放的是備份時xtrabackup的輸出內容(*.log)。
  • var:存放了索引檔案(*.index)和錯誤記錄檔案(*.err)。
  1. *.index:每當備份成功後都會記錄一條資訊到此檔案中,此檔案也是增量備份的一個基礎檔案,程式會用過此檔案判斷是增量備份還是全量備份。
  2. *.err:每當備份出錯了會記錄一條資料到此檔案。如果需要對備份成功與否進行監控,可以通過此檔案的變化來判斷是否備份成(檔案無變化就是備份成功了)。

程式流程圖

 


程式流程圖

先決條件

確保你的xtrabackup 程式在機器上已經可以正確使用。

注意事項

為了安全請使用root以外的使用者來使用本程式,本人專門使用了一個mysql使用者來執行mysql相關的操作。

使用方式

  • 執行

 

 

  • 備份成功索引檔案內容

 

 

  • 備份失敗錯誤檔案內容

 

(提示:其實索引檔案的內容格式和錯誤檔案的一樣)

程式展示

以下主要展示了程式檔案中的內容。附件將會在文章尾部附上

  • 配置檔案 mysql_increment_hot_backup.conf

 

 

  • 主程式說明

程式說明這裡分4個模組來看(主邏輯、變數初始化、檢測檔案正確性、使用的其他方法)

  1. 主邏輯

 

2. 變數初始化

3. 檢測配置檔案正確性

4. 使用的其他方法

(提示:其實在程式中的有關將備份成功的檔案打包步驟和遠端傳輸步驟還沒有實現,有興趣的可以自行處理。當然,熟練使用xtrabackup的可以直接使用xtrabackup中的--stream 和 --remote-host 引數來進行遠端備份。這樣貌似自己實現將備份傳輸到遠端有點多餘。 :) )

 

xtrabackup_cron

相關文章