文件系统和数据库备份构建方法。
praekelt.recipe.backup的Python项目详细描述
praekelt.recipe.backup
文件系统和数据库备份构建方法。
创建bin/脚本,使用该脚本可以轻松创建任何路径和/或数据库的备份。使用rsync创建增量完整备份,请参见:Do-It-Yourself Backup System Using Rsync。
注意:此配方正在积极开发中,尚未在生产环境中进行全面测试。风险自负。
使用量
在buildout.cfg中添加一个部分,如下所示:
[buildout] parts = backup [backup] recipe = praekelt.recipe.backup prefix = foobar local_storage_path = /var/backups
运行构建将在bin/目录中添加与备份部分同名的备份脚本。在这种情况下bin/backup。生成的脚本将在本地的/var/backups中创建以字符串foobar为前缀的构建路径的时间戳备份。
选项
- 前缀
- 备份目录名的前缀字符串。必需。
- 源路径
- 递归备份的路径。默认为构建目录。
- 数据库引擎
- 要备份的数据库类型。支持的选项:mysql或postgres。
- 数据库名称
- 要备份的数据库的名称。
- 数据库用户名
- 要备份的数据库的用户名。
- 数据库密码 要备份的数据库的密码。
- 本地计数
- 要保留在本地的备份数。创建新备份时,旧备份将被删除。默认为3。
- 本地存储路径
- 存储备份的本地路径。请确保运行备份脚本的用户对此路径具有适当的权限。必需。
- 远程主机
- 要在其上镜像本地备份的远程主机的主机名。
- 远程存储路径
- 存储备份的远程路径。确保运行备份脚本的用户对此路径具有适当的权限(通过rsync)。
注意:rsync功能仅限于基于密钥的身份验证。确保为无密码远程身份验证正确设置密钥。
完整示例
以下示例演示了所有可用选项:
[buildout] parts = backup [backup] recipe = praekelt.recipe.backup prefix = foobar local_count = 2 local_storage_path = /var/backups source_path = /var/foobar remote_host = www.my-backup-server.com remote_storage_path = /var/backups/foobar database_engine = postgres database_name = foobar_db database_username = db_username database_password = db_password
生成的脚本将在本地的/var/backups中创建以字符串foobar为前缀的带时间戳的备份文件夹。备份将包含在/var/foobar中找到的所有文件以及名为foobar_db的postgres数据库的数据库转储。每个创建的备份的副本将通过rsync发送到www.my-backup-server.com,并存储在/var/backups/foobar路径中。只有最新的两个备份将在本地保留。旧备份将自动删除。
更改日志
0.0.3
- 完成重构以使用rsync。
0.0.2
- 取消引用符号链接。
0.0.1
- 初始版本