简洁版本
我正在寻找一个具有 Web 界面的 cron 管理器来管理备份和上传到云存储。(是的,webmin 有一个非常好的 cron 调度程序插件)
长版本
在过去,企业备份系统是庞大的怪物,价格高达 6 位数或更高,或者需要自行开发与磁带归档前身紧密结合的低级工具。
前者的例子有 HP 数据保护器和 IBM 磁带存储系统,而后者我想到的是 Bacula 和 amanda。
在当时,这些都是很棒的系统,并且为您完成了很多繁重的工作。
- 调度
- 报告
- 警示
- 管理媒体
- 并提供一个非常古老的 GUI(我想我记得 Hp 数据保护器有一个 ActiveX 组件,谁使用 activeX?)
然而最近的变化远离胶带以及本地存储和面向云或基于网络的备份存储位置。
此外,自动化配置等其他趋势也意味着较少的文件和目录备份“东西”* 和很多更多数据库和二进制对象备份SQL 数据库和 SVN 或其他存储库等对象。
另一个观察结果是将数据保留在云端需要花钱
因此,有必要有一些易于使用的管理界面来将旧备份存档在 S3 或 openstack swift 网络上。
因此,我最终遇到这样的情况:我熟悉的大多数备份管理工具都不适合我的备份目的,现在我的大多数应用程序都需要某种数据库备份转储,并且需要管理将备份文件上传到网络或云存储以及作业。
对于 mySQL 备份,我最终得到了一堆类似这样的软件;
1.percona xtrabackup生成完整和增量
2. cron 启动备份作业
3.使用 python-cloudfiles 进行 duplicity将备份作业同步到云端
4. nagios 和 logwatch 监控并发出故障警报。
然而这一切看起来有点糟糕。
duplicity/cloudfiles 解决方案使用类似 rsync 的语义,配置起来非常容易,而且 xtra 似乎可以顺利完成大部分热备份,但这些都没有真正激发出像 HP data protector 或 tivoli 这样的一站式软件那样的信心。
我想要做的是使用一些通用的作业调度管理器将所有这些结合在一起,该管理器可以运行作业、报告成功情况,并可以处理旧备份的任务调度。
我知道一些 Java 作业调度工具,比如 Quartz,但是这对于我的要求来说实在是太低级了,我实际上正在考虑某种带有报告功能的高级 cron。
更新
mysql-ZRM很有趣,它支持调度和基本报告,还有一个 xtrabackup 插件。然而它确实缺少一个 Web 界面,并且可能还没有达到 percona 的水平,因为它显然不再真正维护了。
xtrabckup 管理器很好,支持调度。但是它仅支持本机 xtrabackup 增量备份,如果您有大量 myisam 表,增量备份会非常大。
holland 和 zmanada 是我正在关注的两个衍生项目或商业项目。
duplicity 和 python-cloudfiles相当 b二cks,所以这就是我用来将备份文件同步到 openstack swift 存储的方法。
答案1
你看过开源作业调度器然而?
答案2
您可以看看 Lachlan Mulcahy 开发的 XtraBackup Manager。(它不是 Percona 产品;它是面向社区的 Percona XtraBackup 管理器)。如果它现在不能满足您的需求,将来可能会满足您的部分或全部需求。
答案3
这个问题的答案实际上可能是 hudson/jenkins,因为它实际上提供了所有的调度和报告工具,并处理警报和条件,并且可以围绕 percona 之类的东西。