备份使用Postgres数据库和S3存储桶作为媒体存储的Django项目的帮助程序集合。
django-green-grove的Python项目详细描述
备份使用Postgres数据库和S3存储桶作为媒体存储的Django项目的帮助程序集合。
快速启动
使用pip:
安装django green grovepip install django-green-grove
在settings.py模块中添加以下内容:
BACKUP_BUCKET_AWS_ACCESS_KEY_ID = '' BACKUP_BUCKET_AWS_SECRET_ACCESS_KEY = ' BACKUP_BUCKET_BUCKET_NAME = '' BACKUP_BUCKET_LOCATION = ''
备份项目
我们建议将此管理命令用作cron选项卡:
python manage.py backup_project
教程
本教程介绍了备份和还原Django项目所需的步骤,该项目使用带有Postgres数据库和S3存储桶的Dokku宿主作为媒体存储。
备份项目
- 连接到服务器
- 连接到Docker容器:dokku enter <project_name>
- python manage.py backup_project
从备份还原
- 连接到服务器
- 连接到数据库:dokku postgres:connect db
- 删除数据库:DROP DATABASE <db_name>;
- 重新创建数据库:CREATE DATABASE <db_name>;
- 授予特权:GRANT ALL PRIVILEGES ON DATABASE <db_name> to <username>;
- 将数据库转储文件从bucket下载到本地计算机:s3cmd cp <path_of_dump_file> .
- 将转储文件移动到服务器:scp <path_of_dump_file> <server>
- 连接到服务器
- 导入转储:cat <file_name> | sudo docker exec -i dokku.postgres.db psql -U <username> <db_name>
- 移除存储桶的媒体文件夹(s3cmd或web界面)
- 打开本地计算机上的终端
- 将媒体文件夹的备份复制回存储桶: s3cmd cp --recursive--acl-publics3://backups/<project_name>/<timestamp>/media/s3://<project_name>/media/
琐事
这个包是以虚构的退休社区命名的,在那里托尼·索普拉诺、保利·瓜蒂耶里和其他黑手党承认他们的母亲是女高音。