支持Amazon Glacier和本地文件夹的Django数据库/媒体备份工具
django-icybackup的Python项目详细描述
将数据库和媒体目录备份到本地文件/目录或 亚马逊冰川。与postgresql、mysql和sqlite协同工作。
django备份的一个叉,添加:
- 多数据库支持
- 可选地将备份保存到Amazon Glacier
- 对存在类似于bourne的shell和gnu工具的假设较少
- 减少皮球感(皮球内不再有多余皮球)
- Postgres特定改进:
使用自定义的存档类型为{TT1}$,以最大化 在恢复时间的灵活性,所以没有必要担心 必须手工编辑或为 当还原时,因为错误 备份时使用了命令行标志。 - 不通过命令行传递PostgreSQL数据库密码 参数,因为这样做会将您的数据库密码泄露给其他 同一台计算机上的用户。
警告mysql用户:此脚本可能会公开mysql数据库 密码通过 命令行参数。欢迎提出请求以解决此问题。
安装
运行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 -garn:was:glacier:us-east-1:2584098540980:vaults/my-website-backups -备份到my-website-backups亚马逊冰川拱顶,由 我是阿恩
- manage.py backup --stdout-备份到stdout
支持以下可选标志:
- -e extra_file-向备份添加一个额外的文件或目录(可以 多次指定)
恢复
- manage.py restore -i backup.tgz-从backup.tgz 还原
- manage.py restore --stdin-从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-可选,但是 需要亚马逊冰川上传工作。
- PG_DUMP_BIN,PG_RESTORE_BIN,MYSQLDUMP_BIN,MYSQL_BIN -可选。将这些设置为指向pg_dump和 pg_restore、mysqldump和mysql二进制文件。如果没有设置, icybackup将尝试在搜索路径上找到它们。(注意cron 作业的搜索路径通常要小得多,所以这是个好主意 在使用cron备份时设置这些设置。)
待办事项
- 备份目录清理命令
- 测试
- 从mysqldump进程名中删除密码
- 还原命令
- 协调和修剪冰川备份的命令
贡献者
以下人员为该项目或其祖先贡献了代码, 按时间顺序按第一次提交:
- 德米特里科瓦列夫
- 泰德·蒂肯
- 克里斯在船上
- 杰米·马修斯
- 亚尔克拉夫佐夫
- 亚当·布伦斯基,圣巴纳巴斯神学院
许可证
版权所有©2012,圣巴纳巴斯神学院 版权所有©2011,Ted Tieken 版权所有©2011,http://code.google.com/p/django-backup/ 保留所有权利。
以源和二进制形式重新分配和使用,有无 允许修改,但条件如下 会议:
- 源代码的重新分发必须保留上述版权 注意,此条件列表和以下免责声明。
- 以二进制形式重新分配必须复制上述版权 注意,此条件列表和以下免责声明 分发时提供的文件和/或其他材料。