我是靠谱客的博主 有魅力钥匙,最近开发中收集的这篇文章主要介绍pybackuppybackup使用文档,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

pybackup使用文档

https://github.com/Fanduzi/pybackup
pybackup源自于对线上备份脚本的改进和对备份情况的监控需求.
原本生产库的备份是通过shell脚本调用mydumper,之后再将备份通过rsync传输到备份机.
想要获取备份状态,时间,rsync传输时间等信息只能通过解析日志.
pybackup由python编写,调用mydumper和rsync,将备份信息存入数据库中,后期可以通过grafana图形化展示和监控备份

参数说明

pybackup.py mydumper ARG_WITH_NO_--... (([--no-rsync] [--no-history]) | [--only-backup])

除了最后三个参数,使用的所有参数和mydumper -h中列出的参数相同. 只不过目前只支持长选项,并且不带’–’
列:

./pybackup.py mydumper password=fanboshi database=fandb outputdir=/data4/recover/pybackup/2017-11-12 logfile=/data4/recover/pybackup/bak.log verbose=3

可以使用./pybackup.py mydumper help查看mydumper帮助信息

–no-rsync
不使用rsync传输

–no-history
不记录备份信息到数据库

–only-backup
等价于同时使用–no-rsync和–no-history . 不能与–no-rsync或–no-history同时使用

配置文件说明

配置文件为pbackup.conf

[root@localhost pybackup]# less pybackup.conf 
[CMDB]            --存储备份信息的数据库配置
db_host=localhost
db_port=3306
db_user=root
db_passwd=fanboshi
db_use=cmdb

[TDB]              --需要备份的数据库配置
db_host=localhost
db_port=3306
db_user=root
db_passwd=fanboshi
db_use=information_schema
db_list=test,fandb,union_log_ad_% --指定需要备份的数据库,可以使用mysql支持的通配符. 如果想要备份所有数据库则填写%

[rsync]
password_file=/data4/recover/pybackup/rsync.sec    --等同于--password-file
dest=platform@182.xx.xx.xx/db_backup/106.xx.xx.xx --传输到哪个目录
address=                                          --使用的网卡.可以为空不指定

注意

[TDB]
db_list=fan,bo,shi          代表备份fan,bo,shi三个数据库
db_list=!fan,!bo,!shi        代表不备份fan,bo,shi三个数据库
db_list=%                    代表备份所有数据库
db_list=!fan,bo              不支持

备份信息示例

*************************** 3. row ***************************
              id: 3
            bk_id: 7d4085d8-c76f-11e7-ace3-005056b15d9c
        bk_server: 106.3.130.84
      start_time: 2017-11-12 14:05:31
        end_time: 2017-11-12 14:06:26
    elapsed_time: 54
      is_complete: N,Y,Y,Y,Y,Y,Y,Y,Y,Y
          bk_size: 2.2G
          bk_dir: /data4/recover/pybackup/2017-11-12
  transfer_start: NULL
    transfer_end: NULL
transfer_elapsed: NULL
transfer_complete: N/A (local backup)
      remote_dest: platform@182.92.83.238/db_backup/106.3.130.84/
    master_status: mysql-bin.000036,25255,
    slave_status: Not a slave
    tool_version: mydumper 0.9.2, built against MySQL 5.5.53
  server_version: 5.7.18-log
      bk_command: mydumper --password=supersecrect --outputdir=/data4/recover/pybackup/2017-11-12 --verbose=3 database=information_schema,PERCONA_SCHEMA,cmdb,fandb,mysql,performance_schema,sys,test,union_log_ad_201710_db,union_log_ad_201711_db

建库建表语句

create database cmdb;
CREATE TABLE user_backup (
    id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    bk_id CHAR(36) NOT NULL UNIQUE KEY,
    bk_server VARCHAR(15) NOT NULL,
    start_time DATETIME NOT NULL,
    end_time DATETIME NOT NULL,
    elapsed_time INT NOT NULL,
    backuped_db VARCHAR(200) NOT NULL,
    is_complete VARCHAR(30) NOT NULL,
    bk_size VARCHAR(10) NOT NULL,
    bk_dir VARCHAR(200) NOT NULL,
    transfer_start DATETIME,
    transfer_end DATETIME,
    transfer_elapsed INT,
    transfer_complete VARCHAR(20) NOT NULL,
    remote_dest VARCHAR(200) NOT NULL,
    master_status VARCHAR(200) NOT NULL,
    slave_status VARCHAR(200) NOT NULL,
    tool_version VARCHAR(200) NOT NULL,
    server_version VARCHAR(200) NOT NULL,
    bk_command VARCHAR(400) NOT NULL,
    tag varchar(200) NOT NULL DEFAULT 'N/A' 
)  ENGINE=INNODB CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

最后

以上就是有魅力钥匙为你收集整理的pybackuppybackup使用文档的全部内容,希望文章能够帮你解决pybackuppybackup使用文档所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部