bin/backup脚本:关于bin/repozo的合理默认值

collective.recipe.backup的Python项目详细描述


构建的简单Zope备份/还原方法

https://travis-ci.org/collective/collective.recipe.backup.png

内容

  • 贡献者
    • 赞助
  • 更改历史记录
  • 4.1.0(2019-04-10)
  • 4.0.1(2018-04-19)
  • 4.0(2017-12-22)
  • 4.0b5(2017-11-17)
  • 4.0b4(2017-08-18)
  • 4.0b3(2017-07-05)
  • 4.0b2(2017-06-26)
  • 4.0b1(2017-05-31)
  • 3.1(2017-02-24)
  • 3.0.0(2015-12-31)
  • 2.22(2015-12-30)
  • 2.21(2015-10-06)
  • 2.20(2014-11-11)
  • 2.19(2014-06-16)
  • 2.18(2014-04-29)
  • 2.17(2014-02-07)
  • 2.16(2014-01-14)
  • 2.15(2013-09-16)
  • 2.14(2013-09-09)
  • 2.13条(2013年7月15日)
  • 2.12(2013年6月28日)
  • 2.11(2013-05-06)
  • 2.10(2013年3月30日)
  • 2.9(2013-03-06)
  • 2.8(2012年11月13日)
  • 2.7(2012年9月27日)
  • 2.6(2012年8月29日)
  • 2.5(2012-08-08)
  • 2.4(2011年12月20日)
  • 2.3(2011-10-05)
  • 2.2(2011年9月14日)
  • 2.1(2011-09-01)
  • 2.0(2011年8月26日)
  • 1.7(2010年12月10日)
  • 1.6(2010年9月21日)
  • 1.5(2010-09-08)
  • 1.4(2010-08-06)
  • 1.3(2009年-12月-08年)
  • 1.2(2009年10月26日)
  • 1.1(2009年8月21日)
  • 1.0(2009-02-06)
  • 0.9(2008-12-05)
  • 0.8(2008年9月23日)
  • 0.7(2008年9月19日)
  • 0.6(2008年9月19日)
  • 0.5(2008年9月18日)
  • 0.4(2008年8月19日)
  • 0.3.1(2008-07-04)
  • 0.2(2008-07-03)
  • 0.1(2008-07-03)
  • 简介

    这个配方主要是在 你的Zope建立起来了。它要求此脚本已经生成 可用。如果不是这样,你会得到这样的错误 当您运行其中一个脚本时: bin/repozo:没有这样的文件或 目录 。当你在三楼或者 在plone 4上,使用 plone.recipe.zeoserver 。如果这是 不是这样,获得 bin/repozo 脚本的最简单方法是 在 build out.cfg中添加一个新的部分(不要忘记在 部件 指令:

    阿尔法。1。阿尔法。

    bin/repozo 是一个zope脚本,用于备份 数据。 查找设置可能会导致哭泣。你得选一个 存放备份的目录。这个配方提供了 合理的 默认值 用于常见备份任务。使备份成为 蛋糕很重要!

    • bin/backup 进行增量备份。
    • bin/full backup 总是在同一目录中进行完整备份 正常备份。您可以通过设置 启用完整备份 选项为真。
    • bin/restore 还原由备份或 完整备份脚本。
    • bin/快照备份 定期备份。在网站发生重大变化之前使用得心应手。
    • bin/SnapshotRestore 还原最新的完整快照备份。
    • bin/zip backup 进行zip备份。这将调整data.fs和 blobstorage,方便将生产日期复制到您的位置 机器,尤指有许多文件的blobstorage。注意 data.fs和blobstorage(或其他存储)是 而不是 的组合 在一个文件中;您需要下载多个文件。启用此 使用"启用Zipbackup"选项编写脚本。
    • bin/ziprestore 恢复最新的zipbackup。

    兼容性

    配方使用Python2.6、2.7和3.6进行测试。 在plone术语中,它在plone 4和plone 5上工作良好。

    请注意,与 plone.recipe.zope2instance 的集成没有在python 3.6上进行测试。 此配方及其 mailinglogger 依赖项还没有与python 3兼容的版本。

    开发
    • 代码库:https://github.com/collective/collective.recipe.backup rel="nofollow">https://github.com/collective/collective.recipe.backup
    • 问题跟踪者: https://github.com/collective/collective.recipe.backup/issues
    • 很明显的修复,比如修复错别字,对master来说是很好的。 对于较大的更改或如果您不确定,请创建分支或拉取请求。
    • 代码附带一个buildout.cfg。请启动 构建并运行创建的 bin/test 以查看测试是否仍然 通过。如果您添加了代码,请尝试添加测试。
    • 这个包的详细描述(如pypi所示),用于 包含一个包含大量测试代码的大文件,其中显示了如何使用 食谱。这个长得太大了,所以我们把它忘了。可能是 如果你想知道一些 选项有。参见src/collective/recipe/backup/tests/*.txt。
    • 我们在特拉维斯身上做了测试: https://travis ci.org/collective/collective.recipe.backup
    • 向https://community.plone.org或向 毛里特斯范里斯

    示例用法

    使用此配方的最简单方法是在buildout.cfg中添加一个部分,如下所示:

    [buildout]
    parts = backup
    
    [backup]
    recipe = collective.recipe.backup
    

    你可以设置很多额外的选项,但是菜谱作者喜欢 认为他们已经创建了正常的默认值,所以这一行声明 配方名称在大多数情况下应该足够了。

    运行构建将添加 备份 完整备份 快照备份 zipbackup 还原 快照还原 并将脚本存储到构建的 bin/ 目录。 有些默认情况下不添加,其他可以关闭。

    已备份的数据

    这个配方备份哪些数据?

    • zope对象数据库(zodb)文件存储,默认位于 var/filestorage/data.fs
    • 可能还有其他文件存储,请参见 附加文件存储 选项。
    • blobstorage(从2.0版开始)如果您的构建使用它,则 默认值位于 var/blobstorage

    未备份的数据

    这个配方不备份哪些数据?当然,其他的一切, 但具体来说:

    • 存储在relstorage中的数据将不会备份。(你可以 仍然使用这个方法来备份文件系统blobstorage, 可能是使用 only_blobs 选项。)
    • 存储在sql中的其他数据(可能是通过sqlalchemy存储的)将 备份。
    • 它不会为整个构建目录创建备份。
    < H3>="id56" rel="nofollow">备份是否已备份?

    注意,默认情况下,备份是在 var 目录中创建的 如果你不小心把整个建筑都拆了, 也会丢失备份。使用 location 用于指定备份位置的选项,例如 用户的主目录。你也应该安排拷贝 备份到不同的机器/国家/大陆/行星。

    备份

    调用bin/backup会导致正常的增量repozo备份 这将创建 var/backups data.fs 的备份。当你 具有默认备份到的blob存储 变量/blobstoragebackups

    完整备份

    调用 bin/full backup 将导致正常的完全repozo备份 这将创建 var/backups data.fs 的备份。当你 具有默认备份到的blob存储 变量/blobstoragebackups 。提供此脚本是为了 为完全备份和增量备份设置不同的cron作业。你可以 希望每天执行增量备份,每周执行完整备份。 现在你可以!

    由于版本4.0,默认情况下不创建fullbackup脚本。 通过将enable-fullbackup设置为true来启用它

    你通常应该定期做一次,比如说一周一次, 从zope data.fs 中删除未使用的对象。下一次 调用bin/backup 时,将进行完整的新备份,因为 增量备份不再可能。这是标准的 行为。所以你可能不需要 bin/fullbackup 脚本。

    快照

    在更新生产服务器之前快速备份是一个很好的方法 想法。但你可能不想干扰常规备份 政体。为此, bin/snapshotbackup 非常好。它放置了一个 默认情况下,完全备份在 var/snapshotbackups中

    ZipBackups

    用于快速获取生产数据库的当前状态,以便 可以下载到你的开发笔记本上,你想要一个完整的和拉链 备份。拉链部分对blobstorage很重要,因为你 不想使用 scp 递归地复制所有这些blob 文件:下载一个tarball更快。

    您可以为此使用 bin/zipbackup 脚本。这个脚本 覆盖一些设置,忽略构建中设置的内容 配置部分:

    • gzip 显式地为文件存储打开(这是 已经是默认值,但我们会确保)。
    • 存档blob 已打开。
    • keep 设置为1,以避免保留大量不必要的备份。
    • 保留blob天数被忽略,因为它是完全备份。

    默认情况下,脚本将完整备份放在 var/zipbackups中 它将blobstorage的tarball放入 var/blobstoragezips

    默认情况下不创建此脚本。 您可以通过将enable_zipbackup 选项设置为true来启用它。 此外,如果 backup blob 为false,则脚本是无用的,因此即使您显式启用它们,我们也不会创建它们。

    还原

    调用 bin/restore 恢复最新的正常增量 repozo 备份并还原blobstorage(如果有)。

    您可以使用 bin/snapshotrestore 还原最新的快照备份。

    您可以使用 bin/ziprestore 还原zipbackup

    您还可以从某个日期恢复备份。就给我一个约会的理由。 根据:规范通知UTC(非本地)时间。 格式为:yyyy-mm-dd[-hh[-mm[-ss]] 。 举个简单的例子,恢复到1972年12月25日:

    bin/restore 1972-12-25
    

    或者到同一天,在1:03秒之后

    bin/restore 1972-12-25-01-02-03
    

    从版本2.3开始,这也适用于还原blob。 我们在指定日期或之前从第一个备份还原目录。 (注意,在版本4.0之前,我们从指定日期之后的第一次备份还原了目录, 这应该是好的,只要你没有做一个数据库包之间的。)

    从版本2.0开始,还原脚本在 启动还原,因为这是一个潜在的危险命令。 ("哦,我已经恢复了现场,但我想恢复测试 site。")您需要显式键入"yes":

    This will replace the filestorage (Data.fs).
    This will replace the blobstorage.
    Are you sure? (yes/No)?
    

    请注意,对于大型文件存储和blobstorage 恢复可能需要很长时间。 您应该执行测试还原并检查它需要多长时间。 秒?几分钟?小时? 这个时间可以接受吗?还是应该采取其他措施?

    已创建脚本的名称

    备份部件通常称为 [backup] ,导致 bin/backup bin/snapshotbackup 。你应该说出你的角色吗 另外,脚本名和创建的 var/ 目录(自1.2版起):

    [buildout]
    parts = plonebackup
    
    [plonebackup]
    recipe = collective.recipe.backup
    enable_zipbackup = true
    

    构建片段将创建以下脚本:

    bin/plonebackup
    bin/plonebackup-full
    bin/plonebackup-zip
    bin/plonebackup-snapshot
    bin/plonebackup-restore
    bin/plonebackup-ziprestore
    bin/plonebackup-snapshotrestore
    

    支持的选项

    配方支持以下选项,这些选项都不需要 违约。最常见的更改是 位置 blobbackuplocation ,因为它们允许您将备份放在 一些系统范围的目录,如 /var/zopebackups/instancename/ /var/zopebackups/instancename blobs/

    < DL>
    附加文件存储
    高级选项,仅在拆分后才需要,例如 catalog.fs 超出了常规的data.fs 。 使用它指定额外的文件存储。 (请参见 高级用法:多个data.fs文件 )。
    存档blob
    使用归档功能。 默认为false 。设置为 真 备份/恢复将使用 tar 命令完成。注意 tar 如果此选项设置为 真,则命令必须在计算机上可用。 此选项也适用于快照备份/还原命令。这样 算作完全备份 忽略keep_blob_days 。 如果要压缩存档,请参见 压缩blob 选项。
    替代恢复源
    可以从其他源还原。用例:首次生成 生产站点的备份,然后转到测试或 转移服务器并在那里还原生产数据。见 备用还原源
    备份块
    备份blob存储。在python 2.6(plone)上,默认值为 true 4)和更高,否则 错误。这需要 blob_存储器 要设置的位置。如果没有,blob_存储器 位置已设置,我们无法通过查看 其他构建部分,我们退出时出错(从版本2.22开始)。 如果 备份blobs 为false,则 启用Zipbackup 不能为true, 因为那时 zipbackup 脚本没有用处。
    blob_存储器
    blob(二进制大对象)所在目录的位置 存储。这是在4号和更高的倍体中使用的,或者在3号倍体中使用,如果 您可以使用 plone.app.blob 。如果备份blob是 错误 。默认情况下不设置位置。当有一部分 使用 plone.recipe.zeoserver plone.recipe.zope2instance plone.recipe.zope2zeoserver,我们检查它是否有 blob存储选项并将其用作默认值。注意我们选择 第一个有这个选择而我们不在乎 共享blob设置,因此可能存在以下情况 不要在这里做最好的决定。使用此选项覆盖 在这种情况下。
    blob存储
    首选blob_存储的可选拼写,如 plone.recipe.zope2instance 将其拼写为blob存储 在所有其他选项中使用下划线。选一个。
    blob_时间戳
    4.0版中的新功能。默认值为false。 默认情况下,我们创建 blobstorage.0 。 下一次,我们将其旋转到 blobstorage.1 并创建一个新的 blobstorage.0 。 使用blob_timestamps=true,我们创建不旋转的稳定目录。 它们得到一个时间戳,与zodb文件存储备份得到的时间戳相同。 例如: blobstorage.1972-12-25-01-02-03 。 或者使用 存档blob=true blobstorage.1972-12-25-01-02-03.tar.gz 。 因为文件名是不可预测的,因为版本4.1我们创建了一个 最新的 符号链接 到最近的备份。
    blobbackuplocation
    blob存储将备份到的目录。默认值 在构建目录中 var/blobstoragebackups
    blobsnapshotlocation
    将在其中创建blob存储快照的目录。 默认为构建内部的 var/blobstoragesnapshots 目录。
    blobziplocation
    将在其中创建blob存储zipbackups的目录。 默认为构建内部的 var/blobstoragezips 目录。
    压缩blob
    4.0版中的新功能。默认值为false。 仅当 存档blob 选项为true时才使用此选项。 打开时,它将压缩存档, 生成一个 .tar.gz 而不是 tar 文件。 在恢复时,我们总是同时查找压缩的和正常的档案。 我们过去总是压缩它们,但在大多数情况下它几乎不能减小大小 无论如何,这需要很长时间。我看到存档需要15秒, 压缩还需要45秒。 结果是存档容量为5.0 GB,而不是5.1 GB。
    数据
    如果 data.fs 不在默认值 var/filestorage/data.fs 位置,此选项可以覆盖它。
    调试
    在极少数情况下,如果您想确切地知道发生了什么,请将debug设置为 true 获取配方本身的调试级别日志。同时运行repozo 如果启用了此选项,则使用 --verbose
    启用完整备份
    创建 完整备份 脚本。默认值:false(在4.0中更改)。
    启用快照还原
    具有 快照还原脚本在开发中非常有用 环境,但在生产建筑中可能有害。这个 脚本将最新快照直接还原到文件存储中 它以前不问任何问题就这样做 (这已更改为要求显式 作为答案)。 如果不希望使用快照还原脚本,请将此选项设置为false。
    启用Zipbackup
    创建 zipbackup ziprestore 脚本。默认值:false。 如果 备份blob 未打开,则这些脚本始终处于禁用状态, 因为它们那时没有用处。
    默认情况下,进行增量备份。如果此选项设置为 bin/backup 将始终进行完全备份。这个选项是(显然) 使用 完整备份脚本时的默认值。
    DZ> TT> GZIP
    使用repozo的压缩功能。默认情况下为真。设置为 repozo不会对其文件进行gzip操作。注意,gzipped数据库被称为 *.fsz ,而不是 *.fs.gz 在0.8中更改:默认值为 错误,但是gzip备份完全有意义,因此我们更改了 默认值。
    gzip blob
    存档blob选项的向后兼容性别名。
    增量气泡
    4.0版中的新功能。默认值为false。 打开时,它将使用 tar --列出的增量选项。 注意:这只适用于gnu版本的 tar 。 在Mac上,您可能需要使用 Brew install GNU tar安装此程序,并根据说明更改 路径。 它将创建元数据或快照文件 因此,对备份脚本的第二次调用将创建第二个tarball,其中只包含差异。 出于某种原因,所有目录总是在第二个tarball中结束, 即使没有更改;这可能取决于使用的文件系统。 如果 存档blob 选项为false,则忽略此选项。 此选项需要 blob_timestamps 选项为true, 因为它需要tarball名称是稳定的,而不是被旋转。 如果显式地将blob_timestamps 设置为false,则buildout将退出并返回一个错误。 请注意,指向最新备份的 最新的 符号链接不是用 增量块 true创建的。 对于大型blobstorage,恢复可能需要很长时间,因此请测试它。 但这在任何情况下都是明智的。 从本质上讲,此功能似乎可以在减少存储空间和恢复时间之间进行权衡。
    保持
    要保留的完整备份数。默认为 2 ,这意味着 保留当前和以前的完全备份。旧备份被删除, 包括它们的增量备份。将其设置为 0 以保留所有备份。
    连续工作日
    要保留的blob备份的天数。默认为 14 ,因此 两个星期。这仅 用于部分(完全=错误) 备份,所以当您执行 存储箱/备份 。此选项已在2.2中添加。全力 备份(快照)我们只使用 keep 选项。推荐 使这些值与您打开Zeopack的频率保持同步 根据公式,保留* days_between_zeopacks=保留blob_days
    。默认匹配一个 七天一次( 2*7=14 )。 由于版本4.0,除非 only_blobs 为true,否则将忽略此选项。 相反,我们将删除没有匹配文件存储备份的blob备份。
    位置
    存储备份的位置。在 构建目录。
    位置前缀
    所有其他备份和快照文件夹将在其中 被创造。默认为 var/ 。 请注意,这不会影响我们查找源文件存储或blobstorage的位置。
    仅限于气泡
    只备份blobstorage,而不是 data.fs 文件存储。假 默认情况下。如果你想 创建一个 bin/filestoragebackup 脚本和一个 bin/blobstoragebackup 脚本,在一个和 在另一个中备份磁盘块
    POST U命令
    备份完成后执行的命令。一个用例 将卸载您装载的远程文件系统 之前使用 pre_命令 。参见上面的 pre_command 更多信息。
    预指令
    在启动后台之前执行的命令起来。一个用例将 使用nfs或sshfs挂载远程文件系统,并将 支援那里。任何输出都将被打印。如果你不喜欢 这样,您总是可以将输出重定向到其他地方( mycommand>; /dev/null 在UNIX上)。有关更多信息,请参阅您当地的unix专家 信息。如果命令失败,备份脚本将退出 一个错误。您可以指定多个命令。
    快速

    使用 --quick选项调用 repozo 。这个选项是 在2.19版中引入了 collective.recipe.backup 默认值为真 。因为所有的支票和 默认的非快速行为会读取大量数据,即 是实际文件存储的三到四倍。用 快速选择它可能很容易只是几千字节。 理论上,快速选择不那么安全,但看起来 只有当有人在 存储库或删除一个 .deltafs 文件。

    快速选项仅影响创建的bin/backup 脚本。它对快照或还原脚本没有影响。

    repozo帮助说明了这个选项:"通过md5校验和验证 只写入最后一个增量。这显著降低了 磁盘I/O以(理论上)不一致为代价。这是一个 确定完整备份是否为 必要。"

    rsync_选项
    为默认的rsync -a 命令添加额外选项。默认为否 额外参数。例如,当您想要恢复 从符号链接目录备份,在这种情况下 rsync_options= --no-l -k 起作用。
    快照位置
    存储文件存储的快照备份的位置。默认为 var/snapshotbackups 在构建目录中。
    使用rsync
    使用带有硬链接的rsync来备份blob。默认是 真的。 rsync 可能不适用于所有机器,并且 我想硬链接在windows上是行不通的。当您将此设置为 错误,我们返回到一个简单的副本( shuil.copytree from 实际上是python)。
    压缩位置
    存储文件存储的zip备份的位置。默认为 var/zipbackups 在构建目录中。

    使用各种选项构建代码片段的示例如下:

    [backup]
    recipe = collective.recipe.backup
    location = ${buildout:directory}/myproject
    keep = 2
    datafs = subfolder/myproject.fs
    full = true
    debug = true
    snapshotlocation = snap/my
    gzip = false
    enable_snapshotrestore = true
    pre_command = echo 'Can I have a backup?'
    post_command =
        echo 'Thanks a lot for the backup.'
        echo 'We are done.'
    

    目录或文件中的路径可以使用相对路径,并且 ~ (home dir)和 $backup风格的环境变量是 展开。

    cron作业集成

    bin/backup 当然是放入cronjob而不是整个 行。但你不想让"信息"级别的日志记录 去吧,就像你在邮箱里一样。在cronjob中,只需添加 -q --quiet bin/backup 将关闭,除非出现问题。 如果在buildout中设置为true,此选项将忽略调试变量。

    说到cron jobs?如果您想处理 在你的构建中的cronjobs。例如:

    [backupcronjob]
    recipe = z3c.recipe.usercrontab
    times = 0 12 * * *
    command = ${buildout:directory}/bin/backup
    

    高级用法:多个data.fs文件

    有时,一个文件存储被拆分为多个文件。最常见的原因是 有一个常规的 data.fs 和一个 catalog.fs 目录,其中包含 门户目录 。附加的文件存储支持此功能 选项:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    0

    这意味着,对于标准的data.fs,bin/backup 脚本现在将备份三个文件存储:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    1

    附加备份必须与 数据分开存储。fs 备份。这是通过附加文件名并创建额外的备份来完成的 这样命名的目录:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    2

    各种备份一个接一个地进行。他们不能在 同时使用repozo。所以它们并不完全同步。"另一个" 首先备份数据库,因为目录中的一个小差异是 有点恼人,但另一方面用户可能会遇到真正的错误。

    附加文件存储 选项中,可以定义不同的 使用此语法的文件存储:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    3

    因此,如果希望对文件存储源路径进行更多控制,可以 显式地设置它,使用或不使用blobstorage路径。为了 例子:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    4

    如果缺少datafs路径,则使用默认值 ( var/filestorage/storagename1.fs )。如果未指定 blobdir ,则这意味着不会为此备份blob 存储。注意,如果指定 blobdir 则必须指定 数据路径 以及。

    注意 collective.recipe.filestorage 文件存储在稍微不同的位置,但是您可以明确地定义 配方中定义的所有 部分的文件存储和blobstorage的路径。 正在进行改进工作。

    blob存储

    在2.0版中添加。

    我们可以备份blob存储。plone 4使用blob存储来存储 文件系统上的文件(二进制大对象)。在第三声中这是 可选的。使用时,当然应该备份。你 必须指定plone(或zope)所在的源blob_存储目录 存储它的blobs。如前所述,当我们不设置它时 具体来说,我们试图从其他部分获取位置,例如 plone.recipe.zope2instance 配方:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    5

    如果需要,我们可以告诉buildout我们只想备份blob或 特别是不要想备份blob。使用指定 备份blob 仅备份blob 选项在 如果您想将其分为几个脚本:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    6

    使用此设置,bin/filebackup现在只备份文件存储 并且 bin/blobbackup 只备份blobbstorage。

    版本4.0中的新功能:您可能需要指定 blob_timestamps=true 。 然后我们创建不旋转的稳定目录。 例如: blobstorage.1972-12-25-01-02-03而不是 blobstorage.0

    rsync

    默认情况下,我们使用 rsync 创建备份。我们创建硬链接 使用此工具,可以节省磁盘空间并仍有增量备份。 这可能需要Unixy(Linux、Mac OS X)操作系统。 这是根据迈克·鲁贝尔的这篇文章: http://www.mikerubel.org/computers/rsync_snapshots/

    我们还没有在windows上尝试过。报告是受欢迎的,但最好是 可能要设置备份部分中的use rsync=false选项。 然后我们简单地复制blobstorage目录。

    其他还原源

    在版本2.17中添加。

    您可以从其他源还原。用例:首先生成 备份生产站点,然后转到测试或登台 服务器并恢复那里的生产数据。

    备用恢复源选项中,您可以定义不同的 使用此选项的文件存储和blobstorage备份源目录 语法:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    7

    存储名称t 与其他文件存储中的相同 选项,加上一个键 data (或 1 )用于标准 data.fs 也可以选择它的blobstorage。

    结果是一个 bin/altrestore 脚本。

    这对于具有单个文件存储和 blob存储:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    8

    上述配置使用 repozo 从 标准的 /path/to/production/var/backups存储库 var/filestorage/data.fs 位置。它复制最新的 blobstorage备份自 /path/to/production/var/blobstoragebackups/ 到标准 变量/blobstorage 位置。

    支持使用特定日期调用脚本,就像 正常还原脚本:

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB
    # or this for an older version:
    # eggs = ZODB3
    scripts = repozo
    dependent-scripts = true
    
    9

    如果您有其他文件存储,则如下所示:

    [buildout]
    parts = backup
    
    [backup]
    recipe = collective.recipe.backup
    
    0

    如果替代源与 标准文件存储、blobstorage和其他存储。为了 例如,当 替代恢复源 是 当有多余或丢失的键时,当 当密钥有额外或丢失的blobstorage时,密钥没有路径。

    在配方的安装过程中,因此在运行 不检查源是否存在:您可能拥有 在其他服务器上备份,需要设置远程共享 或者手动复制数据。

    注意,该脚本使用 archive blob use rsync 选项 考虑到。因此,如果备用还原源包含blob 使用 archive blob=true进行的备份,您需要 altrestore 也使用此设置的脚本。

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException