请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明。
很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个测试实例来测试升级等。在这种情况下,你的 Confluence 可以回运行 2 个不同的版本,而且也是非常常见的。这个文档将会知道你如何拷贝生产环境中的数据到一个测试实例中,同时测试环境的版本和生产环境中的版本还有可能是不同的。
在开始这个操作指南之前,请确定你已经阅读了 升级 Confluence 的正常步骤 页面中的内容。
本页面中的信息不能应用到 Confluence Cloud 中。
使用生产数据升级测试 Confluence 实例
最有效的方法是拷贝生产环境中的 home 目录和数据库到测试实例中。我们将会修改测试实例中的数据库配置信息指派到测试数据库,让其他实例的元数据(最重要的是 Confluence 的构建号码)与服务器上保持一致。
- 关闭你的测试实例。
- 恢复生产数据库到你的测试数据库服务器上。
- 在测试实例的服务器上的 home 目录中找到
confluence.cfg.xml
文件并进行备份。 - 拷贝生产环境下的 Confluence home 目录到测试服务器上。
- 打开
confluence.cfg.xml
文件,你也可以拷贝这个文件的内容到文本编辑器上。修改数据库的设置,让测试服务器的数据库配置是指向测试服务器的数据库服务器地址的。请确定你没有将测试服务器的数据库配置指向到生产数据库上。(你可以在第三步中对比你的备份,如果你希望获得数据库的设置的话,不要仅仅拷贝这个文件 - 你需要服务器上的构建号码不被修改来确定数据库是从一个老版本的 Confluence 升上来的)。
在你重启你的 Confluence 测试实例之前,你需要运行下面的步骤,再次确保你的数据库连接没有连接到生产服务器上。
确定断开生产系统连接
请确定没有连接到外部系统,你需要禁用接收和发送邮件服务。
- 可以通过运行下面的数据库查询来全局禁用发送邮件服务:
SELECT * FROM BANDANA WHERE BANDANAKEY =
'atlassian.confluence.smtp.mail.accounts'
;
- 通过运行下面的数据库查询来禁用空间级别的邮件归档:
SELECT * FROM BANDANA WHERE BANDANAKEY =
'atlassian.confluence.space.mailaccounts'
;
修改上面的 'SELECT *' 为 'DELETE',如果你确定你希望删除确定的账号。
一旦你完成这个操作,你可以重启你的测试实例并且这个测试实例将不会接受和发送任何邮件。需要仔细考虑你系统中可能使用的其他插件,这些插件可能会直接连接到你的生产服务器上(例如 SQL 宏等)。在你重启测试实例之后,这些插件应该正常的被禁用。
你可以为你的测试实例创建一个 开发者许可证,然后将这个许可证在你启动 Confluence 后上传到服务器上。
https://www.cwiki.us/display/CONF6ZH/Restoring+a+Test+Instance+from+Production