Alfresco中文件删除后保留在垃圾箱中的机制

  • A+
所属分类:使用集成

每当用户在Alfresco里对某个文件/目录进行删除操作后,系统不会立即把该文件/目录删除掉,而是继续保存在系统中。

在Alfresco的内容存储分为数据库和文件系统,数据库存储着数据的对象并指向文件系统中存放的内容文件,当某个文件/目录被删除时,这个内容的数据和文件都还保存在Alfresco系统中,只要打开控制面板的垃圾工具,就可以找到之前删除的内容

顶部控制面板>User Profile>Manage Deleted Items(底下)

你会看到一个删除列表,这个列表显示了历史删除的内容版本,你可以通过过滤按钮查按时间或用户来查找删除的内容。当你找到删除内容后,你可以

  1. 恢复这个删除版本
  2. 彻底删除这个版本

当你点击彻底删除后,你就将无法再恢复这个内容了。这时,这个内容的数据对象部分将从Alfresco的数据库中删除,而文件系统上的内容文件就变成了没有指向的垃圾文件,被移送到另外一个真正的垃圾目录下。

看看Alfresco的文件系统存储结构:../alf_data

这里有两个目录,contentstore和contentstore.deleted,contentstore是内容的存放目录,而contentstore.deleted就是无用文件的存放目录了。放在contentstore.deleted下的内容会占用硬盘的空间,系统管理员可以定时清理一下。

深入Alfresco的内容删除管理配置文件,可以了解到,系统缺省情况下不会立即删除掉永久删除的文件,而是会继续保存一段时间(缺省14天),然而,你可以更改这些设定,在repository.properties文件里

# Decide if content should be removed from the system immediately after being orphaned.
# Do not change this unless you have examined the impact it has on your backup procedures.
system.content.eagerOrphanCleanup=true

# The number of days to keep orphaned content in the content stores.
# This has no effect on the 'deleted' content stores, which are not automatically emptied.
system.content.orphanProtectDays=10

# The CRON expression to trigger the deletion of resources associated with orphaned content.
system.content.orphanCleanup.cronExpression=0 0 4 * * ?

这三个参数可以控制系统如何处理永久删除的文件,你可以定时或立即执行删除工作。对于系统硬盘空间资源比较紧张的环境,管理员应该对此作出适当的调整。

发表评论

您必须才能发表评论!