前言
Confluence 存储附件,例如文件和图片在文件系统中。Confluence 的附件存储布局设计基于以下的考虑:
- 限制任何单一目录级别结构中的文件数量(在一些文件系统中,可能有限制每一个目录中可以存储的文件数量)。
- 针对空间对附件进行分区,这样能够让系统管理对空间进行备份的时候能够针对特定的空间备份附件。
分层文件系统附件存储
在Confluence的服务器中可以发现\<Confluence Home Dir\>/attachments/路径下就是附件的存储位置,里面包含了很多数字命名的文件夹。
但是这些数字代表什么含义一开始并不理解,也无法找到想要找到的具体的附件存储在哪里。这就需要理解下它的存储8级及命名规则。
Confluence 中的附件可以被认为具有许多标识属性:id、space id和content id。也就是说,附件在逻辑上属于一个内容,在逻辑上属于一个空间(不是所有的内容都属于一个空间)。
对于 Confluence 中一个空间内的附件,目录结构通常为 8 级,每个目录级的名称基于以下算法:
| 等级(level) | 命名规则 |
|---|---|
| 1 (top) | 始终为 ‘ver003’ 表示 Confluence 版本 3 存储格式 |
| 2 | space id 的最低3位,模250 |
| 3 | space id 的next 3 个最低有效数字,模 250 |
| 4 | 完整的space id |
| 5 | content id 的最低有效 3 位,模 250 |
| 6 | content id 的下 3 个最低有效数字,模 250 |
| 7 | 完整的 content id |
| 8 | 完整的 attachment id |

上面图中文件 D 存储的的位置与其他的文件结构不同。这个文件没有空间级别( 2 到 4 级别),这个文件目录被称为 nonspaced。这个地方通常存储的文件为全局站点的标志(logo)和没有保存的内容,即草稿内容中的 attachments。
如何找到指定附件的存储位置
有时无法确定space id,可以通过以下方法来确认》
服务器端:
有时候可以从日志或者编辑时的URL地址中可以知道attachment id,此时我们可以通过find 命令来直接搜索对应的附件的存储位置:
find <confluence-attachment-dir> | grep 'attachment id'
浏览器端:
希望找到一个特定空间中所有附件存储的目录,浏览器中进入 <confluence url>/admin/findspaceattachments.jsp 然后输入空间的 Key,这个将会返回这个空间所存储文件系统中的目录附件。
本文介绍了Confluence的附件存储方式,特别是分层文件系统结构。讨论了如何通过空间ID和内容ID找到附件在服务器和浏览器端的存储位置,并提供了查找附件路径的方法。

1960

被折叠的 条评论
为什么被折叠?



