跳转到主要内容

一个支持Amazon Glacier和本地文件夹的Django数据库/媒体备份工具

项目描述

将您的数据库和媒体目录备份到本地文件/目录或Amazon Glacier。支持PostgreSQL、MySQL和sqlite。

django-backup的分支(分支的分支),增加了以下功能

  • 多数据库支持

  • 可选将备份保存到Amazon Glacier

  • 对Bourne-like shell和GNU工具的依赖性更少

  • 减少tarballception(不再在tar包内有多余的tar包)

  • 针对Postgres的特定改进

    • 使用自定义归档类型对pg_dump进行操作,以便在恢复时具有最大灵活性,因此无需担心在恢复时需要手动编辑或创建复杂的正则表达式,因为备份时使用了错误的命令行标志。

    • 不通过命令行参数传递PostgreSQL数据库密码,因为这样做可能会将您的数据库密码泄露给同一机器上的其他用户。

警告:MySQL用户:此脚本可能会将您的MySQL数据库密码泄露给同一机器上的其他用户,因为它通过命令行参数传递。欢迎提交修复此问题的pull请求。

安装

运行pip install django-icybackup,然后将icybackup添加到您的INSTALLED_APPS

使用方法

备份

  • manage.py backup -o backup.tgz - 将备份到backup.tgz

  • manage.py backup -d backups - 将备份到backups/[CURRENT_DATETIME].tgz

  • manage.py backup -g arn:was:glacier:us-east-1:2584098540980:vaults/my-website-backups - 将备份到由其ARN指定的my-website-backups Amazon Glacier 保险库

  • manage.py backup --stdout - 将备份输出到标准输出

支持以下可选标志

  • -e extra_file - 将额外的文件或目录添加到备份中(可以指定多次)

恢复

  • manage.py restore -i backup.tgz - 从backup.tgz恢复

  • manage.py restore --stdin - 从标准输入恢复

可选标志

  • --pg-restore-flags - 传递给pg_restore进程的标志(默认是Oxc)。如果你要恢复到的数据库存在且为空,使用--pg-restore-flags=Ox

提示:如果你想迁移服务器,或者将生产数据库/媒体精确复制到开发或预发布环境,可以进行如下操作

ssh other-server 'cd path/to/app && manage.py backup --stdout' | manage.py restore --stdin

settings.py 设置

  • AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY - 可选,但需要在Amazon Glacier上传功能正常工作时指定。

  • PG_DUMP_BINPG_RESTORE_BINMYSQLDUMP_BINMYSQL_BIN - 可选。将这些设置为pg_dumppg_restoremysqldumpmysql二进制文件的完整路径。如果没有设置,icybackup将尝试在搜索路径中找到它们。(注意,cron作业通常在更小的搜索路径下运行,所以如果你使用cron进行备份,设置这些是个好主意。)

待办事项

  • 备份目录清理命令

  • 测试

  • mysqldump进程名称中删除密码

  • 恢复命令

  • 同步和修剪Glacier备份的命令

贡献者

以下人员按首次提交的时间顺序为该项目及其前身贡献了代码

  • Dmitriy Kovalev

  • Ted Tieken

  • Chris Cohoat

  • Jamie Matthews

  • Yar Kravtsov

  • Adam Brenecki,圣巴拿巴神学院

许可证

版权所有 © 2012,圣巴拿巴神学院 版权所有 © 2011,Ted Tieken 版权所有 © 2011,[http://code.google.com/p/django-backup/](http://code.google.com/p/django-backup/) 保留所有权利。

重新分发和使用源代码和二进制代码,无论是否修改,只要满足以下条件即可

  • 源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。

  • 二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明在随分发提供的文档和其他材料中。

本软件由版权所有者和贡献者提供,“现状”且不承担任何明示或暗示的保证,包括但不限于对适销性和针对特定用途的适用性的暗示保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论损害是否由使用本软件引起,以及基于何种责任理论(合同责任、严格责任或侵权责任,包括疏忽或其他),即使被告知可能发生此类损害。

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪一个,请了解有关安装软件包的更多信息。

源分布

django-icybackup-0.1.1.tar.gz (9.0 kB 查看散列值)

上传时间

由支持