ShowBackup
介绍
showbackup是一个短小精干的MySQL数据库备份脚本,支持全库,指定库,指定表,定时快速备份。
- 支持全库备份,指定库备份,指定表备份
- 支持备份输出sql文件或压缩文件
- 支持定时自动化备份任务
- 支持清理过期历史备份文件
安装
$ pip3 install showbackup
配置
首次使用必须先配置运行参数
运行showbackup --config来查看配置文件的位置,使用vi编辑它:
$ showbackup --config
请通过编辑showbackup配置文件来完成配置
vi /your/python/path/dist-packages/showbackup/conf.json
配置文件说明
{
"mysql": {
"host": "localhost",
"port": 3306,
"user": "root",
"pwd": "",
"source": [
{"db": "testdb01", "tables": ["users", "posts"]},
{"db": "testdb02"}
],
"backup_path": "/opt/showbackup/mysql",
"is_zip": false,
"every_day_at": "17:49",
"keep_days": "3"
}
}
/**
* host: 表示mysql的连接地址
* port: mysql的端口号
* user: 用于备份数据库的账号
* pwd: 用于备份数据库的密码
* source: 备份的数据内容(支持全库备份,指定库备份,指定表备份)
- 全库备份
source: []
- 指定库,eg.备份testdb01和testdb02两个数据库
source: [{'db':'testdb01'}, {'db': 'testdb02'}]
- 指定表,eg.仅备份testdb01数据库中的users和posts表和备份testdb02数据库
source: [
{'db':'testdb01', 'tables':['users', 'posts']},
{'db': 'testdb02'}
]
* backup_path: 填写备份文件存放的目录,默认 /opt/showbackup/mysql
* is_zip: 是否启用压缩
* every_day_at:
- 每天执行备份的时间点,支持HH:MM:SS 或者 HH:MM
- eg. 每天凌晨三点整,03:00
- eg. 每天凌晨三点零八分二十六秒,03:08:26
* keep_days: 历史备份文件保留最近几天
*/
使用
手动执行
# 手动执行一次数据库备份,备份完成程序自动退出
$ sudo showbackup mysql
所有任务均已完成,总耗时12.32秒
$ tree /opt/showbackup/mysql
mysql
└── 201800712_135955
├── testdb02
│ ├── table_user.sql.gz
│ └── table_visitor.sql.gz
└── test_len
└── db_test_len.sql.gz
后台运行
# 开始一个数据库定时备份的后台任务
$ sudo showbackup mysql -s &
将于每天 03:00 开始执行备份任务...
# 结束后台任务(找出showbackup的PID,杀掉PID)
$ ps -ef | grep showbackup
25415 16958 0 1:35PM ttys001 0:00.24 /usr/bin/python3 /usr/local/bin/showbackup mysql -s
$ kill -9 25415
使用supervisor运行
# supervisor配置文件
[program:showbackup]
command=/usr/local/bin/showbackup mysql -s ; 程序启动命令
$ supervisorctl start showbackup
showbackup: started
$ supervisorctl status
showbackup RUNNING pid 18245, uptime 0 days, 0:0:03
Metadata
Release files for showbackup 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| showbackup-0.1.3.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| showbackup-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.5 kB
Release files / showbackup-0.1.3.tar.gz
| Download URL | showbackup-0.1.3.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76de6d159d660a9006deff237b582ffd03d9114bb5cd9516cd144af13d0ee4ce
|
|
BLAKE2b-256 checksum How to use checksums |
5e216ebc4e7d494f0cbbea210e84b224ea1ecc1d9cc924f189ed5719f0ffa42d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
|
Release files / showbackup-0.1.3-py3-none-any.whl
| Download URL | showbackup-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3fc9e2464bebf704f1dce884cc5038d6ca46cb949a274a6e9f0ffcb963f21a8
|
|
BLAKE2b-256 checksum How to use checksums |
74129730436d4c3fd0199de23dadbf88b4d396e0e7c334412c365bb7df4da019
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
|