这个配方是plone数据的备份并发送到amazon s3

c2.recipe.bkups3的Python项目详细描述


要求

  • 扑通一声
  • plone 4.0(在MacOS 10.6上通过4.0.4进行测试)
  • 在python中支持ssl(如果备份目标是aws-s3)
  • amazon web服务帐户(如果备份目标是aws-s3)
    • Amazon Web服务帐户(AWS访问密钥/AWS密钥)
    • s3根存储桶名称
  • 如果bin文件夹中没有repozo命令,则需要在buildout.cfg中添加行。以下行将创建此配方正在使用的bin/buckup脚本。

    buildout.cfg

    [repozo]
    recipe = zc.recipe.egg
    eggs = ZODB3
    scripts = repozo
    

    简单用法

    修改buildout.cfg

    parts =
       ...
       bkups3
    
    [bkups3]
    recipe = c2.recipe.bkups3
    use_s3 = true
    aws_id = xxxxxxxxxxxxx
    aws_key = xxxxxxxxxxxxxxxxxxxxxxxxxx
    bucket_name = xxxxxxxxxx
    bucket_sub_folder = mysitename
    sync_s3_filesfolder = true
    blob_store_count = 7
    

    运行构建

    bin/buildout -N
    

    您可以使用备份脚本

    bin/bkups3
    

    您将在var/backups中看到文件存储备份,在var/blobbackups中看到blobstorage backup 以及您分离的amazon web服务s3 bucket。

    详细文档

    支持的选项

    配方支持以下选项:

    blob_bk_dir_名称
    设置备份路径名。 defalut:blobbackups
    使用s3
    默认值:false 使用s3为真,不使用s3为假
    aws\u id
    <;AWS访问键>;
    aws_键
    <;AWS密钥>;
    桶名
    <;s3存储桶名称>; 在Amazon S3中设置唯一的bucket名称
    存储桶子文件夹
    选项:s3 bucket中的子文件夹
    同步s3文件文件夹
    默认值:真
    blob存储区计数
    defalut1
    保存的blob文件数

    我们将使用所有选项:

        >>> write('buildout.cfg',
        ... """
        ... [buildout]
        ... parts = bkups3
        ...
        ... [bkups3]
        ... recipe = c2.recipe.bkups3
        ... blob_bk_dir_name = blobbackups
        ... use_s3 = true # Using S3 -- true, Not use S3 -- false
        ... aws_id = xxxxxxxxxxxx
        ... aws_key = xxxxxxxxxxxxxxxxxxxxxxxxx
        ... bucket_name = xxxxxxxx
        ... bucket_sub_folder = mysitename
        ... sync_s3_filesfolder = true
        ... blob_store_count = 7 # Stored 7 times
        ... """)
    >>> print system(buildout) # doctest:+ELLIPSIS
    Installing backuptos3.
    backup: Created /sample-buildout/var/backups/blobstorage
    Generated script '/sample-buildout/bin/bkups3'.
    

    示例用法

    为了隔离一些测试差异,我们只运行一次空构建:

    >>> ignore = system(buildout)
    

    我们将从创建使用配方的构建开始:

    >>> write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = bkups3
    ...
    ... [bkups3]
    ... recipe = c2.recipe.bkups3
    ... use_s3 = true
    ... """)
    

    运行构建将向 bin/目录,默认情况下,它创建var/bkups3目录:

    >>> print system(buildout) # doctest:+ELLIPSIS
    Installing backuptos3.
    backup: Created /sample-buildout/var/backups/blobstorage
    Generated script '/sample-buildout/bin/bkups3'.
    <BLANKLINE>
    >>> ls('var')
    d  blobbackups
    >>> ls('bin')
    -  bkups3
    -  buildout
    

    备份

    调用bin/bkups3将导致正常的repozo备份和blobstorage备份并存储到amazon s3。我们安排了一个 模拟repozo脚本,打印传递的选项 可执行)。目前,它是非常特定于unix的。

    >>> import sys
    >>> write('bin', 'repozo',
    ...       "#!%s\nimport sys\nprint ' '.join(sys.argv[1:])" % sys.executable)
    >>> #write('bin', 'repozo', "#!/bin/sh\necho $*")
    >>> dontcare = system('chmod u+x bin/repozo')
    
    >>> import sys
    >>> write('bin', 'backup',
    ...       "#!%s\nimport sys\nprint ' '.join(sys.argv[1:])" % sys.executable)
    >>> #write('bin', 'backup', "#!/bin/sh\necho $*")
    >>> dontcare = system('chmod u+x bin/backup')
    

    默认情况下,备份在var/backuptos3

    >>> print system('bin/bkups3')
    --backup -f /sample-buildout/var/filestorage/Data.fs -r /sample-buildout/var/backups --gzip
    INFO: Backing up database file: ...
    

    贡献者

    Manabu Terada(Terapyon),作者

    变更历史

    1.0(2011-12-02)

    • 与rc2[terapyon]相比没有变化

    1.0rc2(2011-05-06)

    • blob_文件的错误修复本地数据库名[terapyon]

    1.0rc1(2011-04-24)

    • 正在检查更新blobstorage[terapyon]

    1.0b4(2011-04-18)

    • 打包失败修复[terapyon]

    1.0b3(2011-04-18)

    • 打包失败修复[terapyon]

    1.0b2(2011-04-18)

    • 变量名从blob_store_len更改为blob_store_count[terapyon]
    • 支持的not对plone 3.x使用blobstorage(但还不能运行plone 3.x)[terapyon]
    • 在bucket[terapyon]中设置子文件夹
    • S3文件的非同步模式[terapyon]

    1.0b1(2011-04-14)

    • 备份文件存储(使用bin/buckup,collective.recipe.backup)[terapyon]
    • 备份blobstorage[terapyon]
    • 亚马逊S3发送桶[terapyon]

    1.0a1(未发布)

    • 用zope创建配方骨架 [manabu terada(@terapyon)]

    下载

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

    推荐PyPI第三方库


    热门话题
    java什么会导致程序在它似乎拥有的监视器上被阻止?   java Android studio设置视图的背景色   java我可以保存一个文本文件而不给用户修改它的能力吗?   pdfbox PDFBOX2。0:java堆堆栈错误   java是维护和操作AllowList的有效方法   JAVAsql。SQLException:找不到适合jdbc的驱动程序:mysql://localhost:3306/asd性爱   如何使用java。lang.NullPointerException:void 安卓。支持v7。应用程序。ActionBar。setElevation(float)“”在空对象引用上'   java调试空指针异常   java正则表达式,以按令牌的特定匹配项拆分,同时忽略其他匹配项   java为JPanel设置边框上的笔划   并发@Schedule方法的java行为   如何在Java中使用泛型与语言运算符和泛型类扩展数   java Rhino Javascript如何为异常堆栈跟踪标记字符串源   运行可执行jar时发生java错误,无法找到或加载主类