一个支持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_ID 和 AWS_SECRET_ACCESS_KEY - 可选,但需要在Amazon Glacier上传功能正常工作时指定。
PG_DUMP_BIN、PG_RESTORE_BIN、MYSQLDUMP_BIN、MYSQL_BIN - 可选。将这些设置为pg_dump和pg_restore、mysqldump和mysql二进制文件的完整路径。如果没有设置,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的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4b36c3d46b97a3ea181680e8c3963b279b255157a05466736a28038026751e4e |
|
MD5 | f0ce76981ad525af7c788f852191e423 |
|
BLAKE2b-256 | 6de873bbd96ddd4cdd40b7057f5569b26d34bad4822152f1ea64464289715131 |