Metadata-Version: 2.1
Name: showbackup
Version: 0.1.3
Summary: A MySQL backup tool, Simple, Fast and Powerful. 一个简单，高效，强大的MySQL备份工具。
Home-page: https://github.com/caorongduan/showbackup
Author: caorongduan
Author-email: caorongduan@gmail.com
License: Apache 2.0
Description: # ShowBackup
        
        #### 介绍
        `showbackup`是一个短小精干的MySQL数据库备份脚本，支持全库，指定库，指定表，定时快速备份。
        - 支持全库备份，指定库备份，指定表备份
        - 支持备份输出sql文件或压缩文件
        - 支持定时自动化备份任务
        - 支持清理过期历史备份文件
        
        
        #### 安装
        ```shell script
        $ pip3 install showbackup
        ```
        
        #### 配置
        首次使用必须先配置运行参数
        运行`showbackup --config`来查看配置文件的位置，使用vi编辑它：
        ```shell
        $ showbackup --config
          请通过编辑showbackup配置文件来完成配置
          vi /your/python/path/dist-packages/showbackup/conf.json
        ```
        配置文件说明
        ```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"
          }
        }
        ```
        ```javascript
        /**
         * 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: 历史备份文件保留最近几天
         */
        ```
        
        #### 使用
        手动执行
        ```shell script
        # 手动执行一次数据库备份，备份完成程序自动退出
        $ 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 
        
        ```
        
        后台运行
        ```shell script
        # 开始一个数据库定时备份的后台任务
        $ 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运行
        ```editorconfig
        # supervisor配置文件
        [program:showbackup]
        command=/usr/local/bin/showbackup mysql -s ; 程序启动命令
        ```
        ```shell script
        $ supervisorctl start showbackup
          showbackup: started
        $ supervisorctl status
          showbackup RUNNING pid 18245, uptime 0 days, 0:0:03
        ```
        
        
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Archiving :: Backup
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
