zoukankan      html  css  js  c++  java
  • MySQL——增量备份和全量备份

    前言

    MySQL简单的增量备份和全量备份脚本

    内容

    #!/bin/bash
    ##环境根据自己的来处理
    PATH=/app/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    
    echo "-----------------------------------------------------------"
    echo "$(date): 开始备份数据库"
    date_str=$(date +%Y%m%d_%H-%M-%S)
    ## 全量备份目录
    backupdir=/app/mysqlbackups/
    ## 数据库目录
    srcdir=/app/data/mysql/
    ## 增量备份目录
    inrdir=$backupdir/increase_$date_str
    
    mkdir -p $backupdir
    mkdir -p $inrdir
    cd $backupdir
    
    # --master-data=2: CHANGE MASTER作为注释写入dump, 为1时为非注释,加载文件的时候CHANGE MASTER会直接生效
    mysqldump -h localhost -uchenz --password='<mysql password>' --single-transaction --flush-privileges --flush-logs  --master-data=2 --routines --events --extended-insert --all-databases  | gzip> $backupdir/database_$date_str.sql.gz
    echo "$(date): 备份数据库结束"
    
    echo "$(date): 开始增量备份"
    find $srcdir -name  'mysql-bin.*'  -mtime  -1 | awk '{if (NR>1){print $1}}' | xargs  cp -t $inrdir;
    tar -zcvf inr_database_$date_str.tar.gz $inrdir --remove-files
    echo "$(date): 增量备份结束"
    
    echo "$(date): 开始清理老的备份数据库"
    ls -1 database_*.sql.gz inr_database_*.tar.gz
    find $backupdir -name "database_*.sql.gz" -type f -mtime +5 -exec rm {} ; > /dev/null 2>&1
    find $backupdir -name "inr_database_*.tar.gz" -type f -mtime +5 -exec rm {} ; > /dev/null 2>&1
    echo "$(date): 清理老的备份数据库结束"
    ls -1 database_*.sql.gz inr_database_*.tar.gz
    
    remote_backup_server=<mysqlBack_server_ip>
    echo "$(date): 拷贝到远端备份机"
    scp $backupdir/database_$date_str.sql.gz $remote_backup_server:/app/data/db_backup/
    echo "$(date): 完成拷贝"
    echo ""
    
    remote_sftp_server=<sftp_server_ip>
    echo "$(date): 拷贝到SFTP"
    scp $backupdir/inr_database_$date_str.tar.gz $remote_sftp_server:/app/data/sftp/
    echo "$(date): 完成拷贝"
    
    学无止境,谦卑而行.
  • 相关阅读:
    查看sql 语句io执行情况
    MVC API 返回json 对象,使用netjson 返回
    微信支付——调用微信客户端支付之【服务端】开发详解
    React-Native hello word 搭建及新手常见问题
    PD中将Comment 从Name复制值
    Redis_DataType
    ConCurrent in Practice小记 (1)
    单链表是否存在环的检测(快慢指针法)
    开园第一天
    我希望……
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/14620684.html
Copyright © 2011-2022 走看看