您的位置:首页 > 编程语言 > Python开发

开源一套数据异地备份系统

2016-06-12 21:25 204 查看

简介

此系统解决游族2w+个数据库实例(包括mysql,redis,ssdb)的异地灾备每天大概40w+个备份文件(99%的数据库实例进行每小时备份策略)每天40TB+数据量进行异地传输

支持任意备份

此系统只负责备份异地传输,不负责如何备份 具体备份脚本用户自行编写,只要按照要求把备份信息写入对应日志文件即可

备份脚本规范

1.每次都是全备的方式 (例如redis通过RDB每次都是全备)

2.全备+增量 的方式(例如Mysql通过Xtrabackup)

脚本日志生成规范:

备份成功:back_log 第一行为ok,第二行为文件名

备份失败:back_log 第一行为wrong,第二行为错误信息

如果是第2种方式,则在生成back_log的时候,同时生成一份相同的日志信息在last_all_log 日志中
备份队列优先级控制,重要的备份优先拉取到异地

支持以下报警类型

正常备份脚本出错(脚本退出码非0)

超过规定时间未备份

非法备份

针对报警做了一个chrome插件提醒的功能

支持后端集群线性扩展

集群支持拉取数据调整,权重调整,集群容量可以通过简单的增加节点进行增加

节点根据配置预留空间,超过预留空间自动暂停,暂停后只要集群中还尚有正常工作的节点,整个集群就能继续工作

支持多纬度数据分析

元数据存储在ES,根据需要进行数据分析

一键恢复

配合恢复脚本可以实现查询备份位置,下载,恢复一气呵成

github地址:
https://github.com/lustlost/ubackup
gitoschina地址: http://git.oschina.net/lustlost/ubackup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 异地 python