Alfresco:无法备份alf_data

时间:2013-07-23 15:44:52

标签: backup alfresco

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

谢谢,亲切的问候。

2 个答案:

答案 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之类的工具。 (我说的是节点属性,而不是节点内容)