0

我是一个 alfresco 3.3c 用户,其实例支持超过 400 万个对象。我开始遇到备份问题,因为即使在增量模式下备份 alf_data/contentstore 文件夹,也需要很长时间(总是需要分析所有这些文件以进行更改)。我注意到 alf_data/contentstore 每年在内部组织一次,我可以假设更早的年份(2012 年)不再改变吗?(如果是,我可以创建一个异常并从备份过程中删除这些目录,显然是使用以前的完整备份)

谢谢,亲切的问候。

4

2 回答 2

2

是的,您可以假设在内容存储的旧目录中不会创建任何对象(并且项目永远不会更新),尽管项目可能会在从 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;
}
于 2013-07-24T09:55:22.780 回答
-2

实际上不,你不能,因为如果文件在 Alfresco 中被修改/更新,文件系统路径不会改变。请记住,您可以热备份内容存储(而不是 lucene 索引文件夹)目录,并且没有必要检查每个文件的一致性。只需启动一个 shell/batch 脚本来执行副本而不进行检查,或者使用像xxcopy这样的工具。(我说的是节点属性,而不是节点内容)

于 2013-07-24T07:53:49.640 回答