Skip to main content

A MySQL backup tool, Simple, Fast and Powerful. 一个简单,高效,强大的MySQL备份工具。

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

showbackup-0.1.3.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

showbackup-0.1.3-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file showbackup-0.1.3.tar.gz.

File metadata

  • Download URL: showbackup-0.1.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for showbackup-0.1.3.tar.gz
Algorithm Hash digest
SHA256 76de6d159d660a9006deff237b582ffd03d9114bb5cd9516cd144af13d0ee4ce
MD5 6725de6e41bbfb646867649258a58d49
BLAKE2b-256 5e216ebc4e7d494f0cbbea210e84b224ea1ecc1d9cc924f189ed5719f0ffa42d

See more details on using hashes here.

File details

Details for the file showbackup-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: showbackup-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for showbackup-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a3fc9e2464bebf704f1dce884cc5038d6ca46cb949a274a6e9f0ffcb963f21a8
MD5 fa8cd6a00a34f867771ae54a769e6805
BLAKE2b-256 74129730436d4c3fd0199de23dadbf88b4d396e0e7c334412c365bb7df4da019

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page