支持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_IDAWS_SECRET_ACCESS_KEY-可选,但是 需要亚马逊冰川上传工作。
  • PG_DUMP_BINPG_RESTORE_BINMYSQLDUMP_BINMYSQL_BIN -可选。将这些设置为指向pg_dumppg_restoremysqldumpmysql二进制文件。如果没有设置, icybackup将尝试在搜索路径上找到它们。(注意cron 作业的搜索路径通常要小得多,所以这是个好主意 在使用cron备份时设置这些设置。)

待办事项

  • 备份目录清理命令
  • 测试
  • mysqldump进程名中删除密码
  • 还原命令
  • 协调和修剪冰川备份的命令

贡献者

以下人员为该项目或其祖先贡献了代码, 按时间顺序按第一次提交:

  • 德米特里科瓦列夫
  • 泰德·蒂肯
  • 克里斯在船上
  • 杰米·马修斯
  • 亚尔克拉夫佐夫
  • 亚当·布伦斯基,圣巴纳巴斯神学院

许可证

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

以源和二进制形式重新分配和使用,有无 允许修改,但条件如下 会议:

  • 源代码的重新分发必须保留上述版权 注意,此条件列表和以下免责声明。
  • 以二进制形式重新分配必须复制上述版权 注意,此条件列表和以下免责声明 分发时提供的文件和/或其他材料。
<本软件由版权所有者和贡献者提供 以及任何明示或暗示的变化,包括但不限于 对……的适销性和适用性的默示保证 特别用途已放弃。在任何情况下,版权 对任何直接的,间接的,偶然的, 特殊、示例或后续数据(包括但不限于) 采购或替代货物或服务;使用、数据或 利润;或营业中断)无论是何种原因,根据任何理论或 责任,无论是合同责任、严格责任还是侵权责任(包括) 以任何方式产生 软件,即使被告知这种可能性或这种损害。

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

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?