一个简单的python应用程序,它使数据库备份更加容易。
dbackups的Python项目详细描述
概述
此工具的目的是使批量备份数据库变得容易。此服务基于配置文件运行数据库操作。备份公共数据库不需要实现详细信息。
当前支持以下数据库进行备份:
- PostgreSQL
- mysql
安装
支持的平台:
- Linux
设置要求:
- 设置工具git
要求:
- python 2.7版
- 请求
使用virtualenv和pip安装。
mkdir -p ~/.venvs virtualenv ~/.venvs/dbackups source ~/.venvs/dbackups/bin/activate pip install dbackups
使用pip安装。
pip install dbackups
配置
这个包的目的是现在备份一个基础结构中的多个数据库。您也可以指定 上传备份的位置。
配置文件:
它使用python`os.path.expanduser('~')`,并转换为以下内容:
vim ~/.dbackups/databases.ini
将每个数据库添加为配置文件的一部分。定义连接和上载选项。
- 示例
[示例数据库] #如果要为此数据库启用备份 启用=真 #数据库类型 数据库类型=PostgreSQL #数据库的连接参数 db_host=数据库的主机 db_name=用户 数据库用户=Postgres db_pass=密码123 数据库端口=5432
#它们被传递到requests.put方法中(futures将改进此部分) 上传url=https://backups.example.com/backups/ upload_user=备份用户 upload_pass=password543
运行
当前运行从配置文件备份已配置数据库的作业的一种方法是运行 命令
dbackupscron
- 这将尝试转储和上载配置文件中所有启用的数据库。这是迈向拥有
- python调度自己的cron并作为systemd/init服务运行。
###cron脚本 在/etc/cron.daily/
中创建类似的cron脚本sudo vim /etc/cron.daily/dbackups.cron sudo chmod +x /etc/cron.daily/dbackups.cron
内容:
#!/usr/bash source ~/.venvs/dbackups/bin/activate && dbackupscron
##日志记录
今天这个应用程序的日志记录是由一个配置文件完成的。这可以在 项目根目录。 此文件被此应用程序分发的所有二进制文件使用。
默认情况下,日志可以在程序目录中找到:
~/.dbackups/logs/
dbackupscron脚本有自己的日志,可以方便地对cron脚本进行分类
~/.dbackups/logs/database_backup_cron.log
##期货
- Windows支持
- 在database.ini中输入新配置项的脚本
- 添加功能以将一个数据库克隆到另一个数据库以用于开发目的
- 添加转储文件的清理。(今天依赖临时目录清理)
- 一个简单的ui来查看上传的备份,并配置数据库条目。
##数据库故障排除
- [MySQL](docs/mysql.md)
- [PostgreSQL](docs/postgres.md)
##报告问题
首先,请记录问题,否则可能永远无法解决!
作为一个公会,以下是一个清单,你的问题检查和提供的东西。
- 你在运行什么操作系统?
- 请附上[日志](日志)
- 你能繁殖吗?
- 你采取了什么措施来解决这个问题?
##文档问题
有关文档或所需增强功能的问题,请将问题记录在问题所在的页面上,以及有关问题不正确原因的所有详细信息,或文档任何部分所需的澄清。