我是一名露天3.3c用户,其实例支持超过400万个对象。我开始遇到备份问题,因为即使在增量模式下备份alf_data / contentstore文件夹,也需要很长时间(总是需要分析所有这些文件以进行更改)。 我注意到alf_data / contentstore是每年内部组织的,我可以假设olders年(2012)不再改变吗? (如果是的话,我可以创建一个例外并从备份过程中删除这些dirs,显然是先前的完整备份)
谢谢,亲切的问候。
答案 0 :(得分:2)
是的,您可以假设在内容存储库中的旧目录中不会创建任何对象(并且项目永远不会更新),尽管从Alfresco的垃圾桶中删除后,存储库的清理作业可能会删除这些项目。
这是org.alfresco.repo.content.filestore.FileContentStore
中生成新内容网址的部分。您可以很容易地看到它始终使用当前的日期和时间。
/**
* 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;
}
答案 1 :(得分:-2)
实际上没有你不能,因为如果文件在Alfresco中被修改/更新,则文件系统路径不会改变。请记住,您可以热备份内容存储(而不是lucene索引文件夹)目录,并且不必检查每个文件的一致性。只需启动执行副本的shell /批处理脚本而不进行检查,或使用xxcopy之类的工具。 (我说的是节点属性,而不是节点内容)