2016-09-23 70 views
1

开发人员控制台中用于创建备份的备份功能非常棒。不过,我想可以自动化这一点。有没有办法从cf命令行应用程序这样做?MariaDB从命令行备份

感谢

回答

3

这是不可能从cf cli,但触发备份是一个​​。

API Docs |自定义扩展| Swisscom Cloud Cloud Filter适用于 Cloud Foundry(CF)云控制器(CC)API。实现瑞士电信 专有扩展

POST /custom/service_instances/{service-instance-id}/backups 

为给定的服务实例

备份在docs.developer.swisscom.com详情参见Service Backup and Restore

创建备份要创建备份,请导航到服务实例 Web c鞋垫,然后到“备份”选项卡。在那里你可以点击 “创建”按钮来触发手动备份。

注意:必须从Web控制台手动触发备份。

请注意,您只能为每个服务 实例保留一定数量的备份。实际数量取决于服务类型和服务计划。如果您已有最大数量,则在删除现有的一个之前,不能创建任何新的备份。

备份服务可能需要几分钟时间(具体取决于服务实例的 大小)。

恢复备份您可以随时恢复任何备份。备份的当前 状态将被覆盖,并替换为保存到备份的状态 。建议您在还原旧状态之前创建当前状态的备份。

局限性您一次只能对每个 服务实例执行一次备份或恢复操作。如果某个操作仍在进行中,您不能触发另一个操作。你不能超过备份的最高要求数量 每个服务实例

1

尽管answerMatthias Winzeler说这是不可能的,其实这是完全可以通过命令行来自动备份MariaDB的。

我公司开发的CF CLI插件: https://github.com/gsmachado/cf-mariadb-backup-plugin

今后我会这么插件扩展到备份的任何种类的由Cloud Foundry中提供的API支持服务(在这种情况下,Swisscom AppCloud API)。

+0

@kaktusgruen:我觉得我的回答应该是接受一个,因为我为你提供了解决问题的办法。 – gsmachado

2

我们通过开发一个小型Node.js应用程序来实现这一点,该应用程序在同一空间的云上运行,并且每晚自动备份我们的maria和mongo db。

编辑: 你可以从这里下载代码: https://github.com/theonlyandone/cf-backup-app

+1

不错的主意。如果你有可能分享你的代码,会很好。 – uwolfer

+0

更新了我的答案 – kaktusgruen

+1

非常感谢!您可以使用Swisscom提供的API创建备份,对吧?您是否还想过将“备份”导出到另一个位置(即外部备份服务器)? – uwolfer

1

从记者记忆犹新:Swisscom Application Cloud cf CLI Plugin还可以自动备份和恢复。

Swisscom Application Cloud官方cf CLI插件让您可以访问 您可以访问App Cloud的所有其他功能。

cf install-plugin -r CF-Community "Swisscom Application Cloud" 

0.1.0 release notes

服务实例备份

  • 添加cf backups命令(列表中的服务实例的所有备份)
  • 添加cf create-backup命令(创建新备份服务实例)
  • 添加cf restore-backup命令(恢复服务实例的现有备份)
  • 添加cf delete-backup命令(删除服务实例的现有备份)