我用一个实例支持更多有400万级的对象露天3.3C用户。我开始遇到备份问题,因为即使在增量模式下备份alf_data/contentstore文件夹,也需要很长时间(总是需要分析所有这些文件以进行更改)。 我注意到alf_data/contentstore每几年内举办,我可以假设olders年(2012年)不再被改变了吗? (如果是,我可以创造一个例外,从备份过程与以前的完全备份删除那些迪尔斯,很明显)露天:无法备份alf_data
感谢,亲切的问候。
我用一个实例支持更多有400万级的对象露天3.3C用户。我开始遇到备份问题,因为即使在增量模式下备份alf_data/contentstore文件夹,也需要很长时间(总是需要分析所有这些文件以进行更改)。 我注意到alf_data/contentstore每几年内举办,我可以假设olders年(2012年)不再被改变了吗? (如果是,我可以创造一个例外,从备份过程与以前的完全备份删除那些迪尔斯,很明显)露天:无法备份alf_data
感谢,亲切的问候。
其实没有你,因为如果文件被修改/在露天更新文件系统路径不会改变。请记住,您可以热备份内容存储库(而非lucene索引文件夹)dir,并且不需要检查每个文件的一致性。只需启动一个shell /批处理脚本即可执行副本,而不需要检查,或使用诸如xxcopy之类的工具。 (我说的是节点属性,而不是节点内容)
是的,你可以假设没有物体会在你的内容存储库中的旧目录中创建(且从不更新的项目),但项目可以被移除通过从Alfresco的垃圾桶中删除后的存储库清理作业。
这是从org.alfresco.repo.content.filestore.FileContentStore
,其生成新的内容的URL的部分。你可以很容易地看到它总是使用当前的日期和时间。
/**
* Creates a new content URL. This must be supported by all
* stores that are compatible with Alfresco.
*
* @return Returns a new and unique content URL
*/
public static String createNewFileStoreUrl()
{
Calendar calendar = new GregorianCalendar();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 0-based
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
// create the URL
StringBuilder sb = new StringBuilder(20);
sb.append(FileContentStore.STORE_PROTOCOL)
.append(ContentStore.PROTOCOL_DELIMITER)
.append(year).append('/')
.append(month).append('/')
.append(day).append('/')
.append(hour).append('/')
.append(minute).append('/')
.append(GUID.generate()).append(".bin");
String newContentUrl = sb.toString();
// done
return newContentUrl;
}
实际上,当一个内容项目被更新时,一个* new *文件就会在新内容的contentstore中被创建。因此,存储在数据库中的路径实际上*会更改,新创建的内容将与当前日期和时间一起存储。 –
意志是绝对正确的位置 – alfrescian
将遗憾地令人失望,这不是真的,我刚刚检查它现在。更新内容时,节点的物理路径(例如/ contentstore/2013/07/25/9/25 /)不会更改。它仅在版本控制处于活动状态时才会生效。 – Teqnology