如何对JCR存储库进行快照备份/恢复?
我需要完全的正直。这意味着,单次备份命令生成的单次快照映像必须是有效的,没有任何外部依赖性。并且可以在其他JCP实例中完全恢复。这意味着,如果我将快照映像恢复到JCR实例中,则必须清除存储库中的所有现有数据,并且必须将快照中的所有数据完全恢复为以前的存储库中的数据。
停止整个服务来执行此操作是很好的。首先,我更喜欢诚实正直。
我该怎么做呢?
发布于 2011-09-23 19:40:56
JCR API本身没有提供任何简单的方法来对整个存储库进行完整且可恢复的备份(就像JDBC不包含关系数据库的备份/恢复功能一样),因此问题的答案取决于您使用的是哪种JCR实现。
一个适用于任何JCR实现的简单解决方案是关闭存储库,并对存储库使用的所有数据进行文件系统/数据库备份。
如果您使用的是Apache Jackrabbit,您还可以使用Jackrabbit standalone jar中包含的backup feature。或者,如果您更喜欢Java API,可以使用jackrabbit core中包含的RepositoryCopier class访问相同的功能。在使用RepositoryCopier时,您甚至可以让源存储库保持运行,只要您可以在应用程序级别强制要求在备份运行时没有客户端尝试写入存储库。
https://stackoverflow.com/questions/7379638
复制相似问题