是否可以在plone 4.1中恢复已删除的文件夹?

是否可以在plone 4.1中恢复已删除的文件夹?,plone,recovery,Plone,Recovery,如何恢复plone 4.1中已删除的文件夹?是的,可以使用Zope管理界面的“撤消”选项卡来恢复相关文件夹。这将回滚删除文件夹的数据库事务,如果您刚刚删除了文件夹,则最有效。其他信息位于:如果您尚未打包删除该文件夹的事务,则可以恢复该文件夹 首先,使用。这可能不起作用,因为系统上有太多其他的东西已经更改(通常是目录),所有更改都要有效地回滚 下一步会更加繁琐和复杂。然后,您要做的是用一个包装器打开对象数据库(ZODB),该包装器将向您显示数据库在历史上某个给定点的状态。这样做需要手动编辑Zope

如何恢复plone 4.1中已删除的文件夹?

是的,可以使用Zope管理界面的“撤消”选项卡来恢复相关文件夹。这将回滚删除文件夹的数据库事务,如果您刚刚删除了文件夹,则最有效。其他信息位于:

如果您尚未打包删除该文件夹的事务,则可以恢复该文件夹

首先,使用。这可能不起作用,因为系统上有太多其他的东西已经更改(通常是目录),所有更改都要有效地回滚

下一步会更加繁琐和复杂。然后,您要做的是用一个包装器打开对象数据库(ZODB),该包装器将向您显示数据库在历史上某个给定点的状态。这样做需要手动编辑Zope服务器配置。我已经说过了,但是这些步骤有点过时了

在现代Plone构建中,需要将
zc.beforestorage
egg添加到构建中,并且需要将Zope的
启用产品安装设置切换为
False
;使用beforestorage包装器会使您的数据库为只读,产品安装代码会尝试提交到数据库,导致启动失败:

[instance]
eggs +=
    zc.beforestorage
zope-conf-additional +=
    enable-product-installation False
重建构建后,需要打开与实例关联的
zope.conf
文件。如果您通常使用
bin/instance
启动服务器,那么该文件位于
parts/instance/etc/zope.conf
;使用的
bin/
中的脚本与零件名称匹配(本例中为
instance

找到定义ZODB主数据库的部分:

<zodb_db main>
    # Main database
    cache-size 10000

    # Blob-enabled FileStorage database
    <blobstorage>
      blob-dir /path/to/var/blobstorage
      <filestorage>
        path /path/to/var/filestorage/Data.fs
      </filestorage>
    </blobstorage>
    mount-point /
</zodb_db>
注意此处
行之前的
;当您启动实例时,站点将显示为该时间戳的状态。选择一个在删除文件夹时关闭的文件夹。现在,您可以将其导出(再次使用ZMI)到
.zexp
文件中。撤消对
zope.conf
文件的更改,重新启动并导入恢复的文件夹

<zodb_db main>
    # Main database
    cache-size 10000

    %import zc.beforestorage
    <before>
    before 2012-12-01T12:00:00

    # Blob-enabled FileStorage database
    <blobstorage>
      blob-dir /path/to/var/blobstorage
      <filestorage>
        path /path/to/var/filestorage/Data.fs
      </filestorage>
    </blobstorage>

    </before>

    mount-point /
</zodb_db>