此係統解決遊族2w+個數據庫實例(包括mysql,redis,ssdb)的異地災備mysql
天天大概40w+個備份文件(99%的數據庫實例進行每小時備份策略)git
天天40TB+數據量進行異地傳輸github
此係統只負責備份異地傳輸,不負責如何備份 具體備份腳本用戶自行編寫,只要按照要求把備份信息寫入對應日誌文件便可redis
備份腳本規範 1.每次都是全備的方式 (例如redis經過RDB每次都是全備) 2.全備+增量 的方式(例如Mysql經過Xtrabackup) 腳本日誌生成規範: 備份成功:back_log 第一行爲ok,第二行爲文件名 備份失敗:back_log 第一行爲wrong,第二行爲錯誤信息 若是是第2種方式,則在生成back_log的時候,同時生成一份相同的日誌信息在last_all_log 日誌中
備份隊列優先級控制,重要的備份優先拉取到異地sql
正常備份腳本出錯(腳本退出碼非0)chrome
超過規定時間未備份數據庫
非法備份後端
針對報警作了一個chrome插件提醒的功能ide
集羣支持拉取數據調整,權重調整,集羣容量能夠經過簡單的增長節點進行增長spa
節點根據配置預留空間,超過預留空間自動暫停,暫停後只要集羣中還尚有正常工做的節點,整個集羣就能繼續工做
元數據存儲在ES,根據須要進行數據分析
配合恢復腳本能夠實現查詢備份位置,下載,恢復一鼓作氣
github地址:
https://github.com/lustlost/ubackup
gitoschina地址:
http://git.oschina.net/lustlost/ubackup