使用S3自动化备份和恢复Postgres数据库
项目描述
elefant
---
允许您使用S3中的私有存储备份和恢复您的Heroku数据库。这允许绕过Heroku计划中的备份限制,并确保您的数据除了Heroku之外还备份在其他地方。
仅在Unix机器和Heroku Postgres 9.4上进行了测试。
## 安装
```bash
pip install elefant
```
Elefant的唯一依赖项是Python中的`boto`(https://boto.readthedocs.org/en/latest/)和当然,`postgres`(使用`pg_restore`)。
## 使用
步骤
* 确保`boto`在环境变量中设置了AWS凭证
* 确保$ heroku已登录
Elefant将为您创建一个S3存储桶,只要它未被占用,并且您的AWS用户有权限这样做。
## 备份格式
在实例化时,您将提供`Elephant`的S3存储桶名称和Heroku应用程序名称,然后它将存储以下格式的备份转储
<S3-BUCKET>/<HEROKU-APP-NAME>__%Y_%m_%d-%H_%M_%S.dump
其中格式是[标准Python日期格式](https://docs.pythonlang.cn/2/library/datetime.html#strftime-and-strptime-behavior)。
文件类型是Postgres转储文件,而不是SQL文本转储。
## 示例
```python
from elefant import Elefant
# 创建Elefant对象,传入Heroku应用程序名称和备份存储桶
eft = Elefant("myapp", "mybucket")
print "正在制作备份,上传到S3,然后从Heroku中删除..."
eft.backup()
print "可用的备份:"
backups = eft.backups
for b in backups
print b.name
打印 "从最新备份恢复..."
eft.restore(b)
打印 "使用字符串从最新备份恢复..."
eft.restore(b.name)
```
---
允许您使用S3中的私有存储备份和恢复您的Heroku数据库。这允许绕过Heroku计划中的备份限制,并确保您的数据除了Heroku之外还备份在其他地方。
仅在Unix机器和Heroku Postgres 9.4上进行了测试。
## 安装
```bash
pip install elefant
```
Elefant的唯一依赖项是Python中的`boto`(https://boto.readthedocs.org/en/latest/)和当然,`postgres`(使用`pg_restore`)。
## 使用
步骤
* 确保`boto`在环境变量中设置了AWS凭证
* 确保$ heroku已登录
Elefant将为您创建一个S3存储桶,只要它未被占用,并且您的AWS用户有权限这样做。
## 备份格式
在实例化时,您将提供`Elephant`的S3存储桶名称和Heroku应用程序名称,然后它将存储以下格式的备份转储
<S3-BUCKET>/<HEROKU-APP-NAME>__%Y_%m_%d-%H_%M_%S.dump
其中格式是[标准Python日期格式](https://docs.pythonlang.cn/2/library/datetime.html#strftime-and-strptime-behavior)。
文件类型是Postgres转储文件,而不是SQL文本转储。
## 示例
```python
from elefant import Elefant
# 创建Elefant对象,传入Heroku应用程序名称和备份存储桶
eft = Elefant("myapp", "mybucket")
print "正在制作备份,上传到S3,然后从Heroku中删除..."
eft.backup()
print "可用的备份:"
backups = eft.backups
for b in backups
print b.name
打印 "从最新备份恢复..."
eft.restore(b)
打印 "使用字符串从最新备份恢复..."
eft.restore(b.name)
```
项目详情
关闭
Elefant-0.0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 979da348d75c5a0de4f9fa7ccd03c128e444369635ce3ec0180d896af959cd16 |
|
MD5 | 502b5efa5de87dfc3d41c287615a6329 |
|
BLAKE2b-256 | 909324da47463f388bd60ae33aadfde9ecd39e3d0ae55ecf670d6c6d425d2f7f |