管理命令,帮助备份和还原项目数据库和媒体。
项目描述
Django 数据库备份
这个 Django 应用提供了管理命令,可以帮助您使用各种存储(如 Amazon S3、Dropbox、本地文件存储或任何 Django 存储)备份和恢复项目数据库和媒体文件。
它旨在
允许您使用 GPG 签名和加密来保护备份
使用压缩进行归档
轻松处理远程归档
保持您的开发数据库最新
使用 Crontab 或 Celery 设置自动化备份
文档
请参阅我们的官方文档:Read The Docs。
为什么使用 DBBackup
此软件并不是重新发明轮子,简单来说,它是 Django 项目和备份存储之间的管道。它尝试使用传统的导出 & 恢复机制,应用压缩和/或加密,并使用您想要的存储系统。
它提供了一个简单的界面来备份和恢复数据库或媒体文件。
管理命令
dbbackup
将数据库备份到指定的存储。默认情况下,这将备份 settings.py 文件中指定的所有数据库,并且不会删除任何旧备份。您可以可选地指定要包含在备份文件名中的服务器名称。
Usage: ./manage.py dbbackup [options] Options: --noinput Tells Django to NOT prompt the user for input of any kind. -q, --quiet Tells Django to NOT output other text than errors. -c, --clean Clean up old backup files -d DATABASE, --database=DATABASE Database to backup (default: everything) -s SERVERNAME, --servername=SERVERNAME Specify server name to include in backup filename -z, --compress Compress the backup files -e, --encrypt Encrypt the backup files -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME Specify filename on storage -O OUTPUT_PATH, --output-path=OUTPUT_PATH Specify where to store on local filesystem -x EXCLUDE_TABLES, --exclude-tables=EXCLUDE_TABLES Exclude tables data from backup (-x 'public.table1, public.table2')
dbrestore
从指定的存储中恢复数据库。默认情况下,这将查找最新的备份并从该备份中恢复。如果您想备份由不同服务器创建的数据库映像,您可以可选地指定服务器名称。您还可以指定一个明确的本地文件以从中备份。
Usage: ./manage.py dbrestore [options] Options: --noinput Tells Django to NOT prompt the user for input of any kind. -d DATABASE, --database=DATABASE Database to restore -i INPUT_FILENAME, --input-filename=INPUT_FILENAME Specify filename to backup from -I INPUT_PATH, --input-path=INPUT_PATH Specify path on local filesystem to backup from -s SERVERNAME, --servername=SERVERNAME Use a different servername backup -c, --decrypt Decrypt data before restoring -p PASSPHRASE, --passphrase=PASSPHRASE Passphrase for decrypt file -z, --uncompress Uncompress gzip data before restoring
mediabackup
通过逐个获取媒体文件并将其包含在 TAR 文件中,备份媒体文件。
Usage: ./manage.py mediabackup [options] Options: --noinput Tells Django to NOT prompt the user for input of any kind. -q, --quiet Tells Django to NOT output other text than errors. -c, --clean Clean up old backup files -s SERVERNAME, --servername=SERVERNAME Specify server name to include in backup filename -z, --compress Compress the archive -e, --encrypt Encrypt the backup files -o OUTPUT_FILENAME, --output-filename=OUTPUT_FILENAME Specify filename on storage -O OUTPUT_PATH, --output-path=OUTPUT_PATH Specify where to store on local filesystem
mediarestore
从存储备份中恢复媒体文件到您的媒体存储。
Usage: ./manage.py mediarestore [options] Options: --noinput Tells Django to NOT prompt the user for input of any kind. -q, --quiet Tells Django to NOT output other text than errors. -i INPUT_FILENAME, --input-filename=INPUT_FILENAME Specify filename to backup from -I INPUT_PATH, --input-path=INPUT_PATH Specify path on local filesystem to backup from -e, --decrypt Decrypt data before restoring -p PASSPHRASE, --passphrase=PASSPHRASE Passphrase for decrypt file -z, --uncompress Uncompress gzip data before restoring -r, --replace Replace existing files
测试
测试存储在 dbbackup.tests 中,要运行它们,您必须启动
python runtests.py
实际上,runtests.py 作为 manage.py 文件,所有 Django 命令都可用。因此,您可以启动
python runtests.py shell
以获取配置了测试项目的 Python shell。此外,所有测试命令选项都可用并可使用,以仅运行选择的一组测试。有关更多信息,请参阅 Django 测试命令文档。
甚至还有功能测试
./functional.sh
请参阅文档以获取详细信息。
要跨所有支持的 Django 和 Python 版本运行测试,您可以使用 Tox。首先安装 Tox
pip install tox
要运行测试,只需在命令行中输入 tox 命令。如果您只想针对特定的测试环境运行测试,可以运行 tox -e <testenv>。例如,要使用 Python3.9 和 Django3.2 运行测试,您将运行
tox -e py39-django32
可用的测试环境可以在 tox.ini 中找到。
贡献
这是一个 Jazzband 项目。通过贡献,您同意遵守 贡献者行为准则 并遵循 指南。
所有贡献都受到欢迎,包括建议、问题、错误和改进,都通过 GitHub issues 系统跟踪,并通过 pull requests 提交补丁。
我们使用 GitHub Actions 作为持续集成工具。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
django_dbbackup-4.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 157a2ec10d482345cd75092e510ac40d6e2ee6084604a1d17abe178c2f06bc69 |
|
MD5 | ae3373d7d405a3be6f1ab8ef3cfe4f42 |
|
BLAKE2b-256 | 6e93180d0fcf0d7da8bcaca7aeb6ba27490bd18132d8c625b2c1a1c8f03516bf |
django_dbbackup-4.2.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b23265600ead0780ca781b1b4b594949aaa8a20d74f08701f91ee9d7eb1f08cd |
|
MD5 | 84ab4a9dad7485ab55c570909f48f307 |
|
BLAKE2b-256 | 5c56269824e8ae46772c3506c72ece58148f13e65a2ffaed42c5bd428960a729 |