zoukankan      html  css  js  c++  java
  • mysql数据库备份

    适合小公司MySQL备份

    #!/bin/bash
    #############################
    # time:20191210
    # fage trainning
    #############################
     
    BACK_DIR=/application/mysqlbakdb
    DB_LST=/tmp/db.lst
    DATE=`date +%Y-%m-%d`
    mysql -u root -p'S1yxYRrE33TZPn1o' -e 'show databases' > $DB_LST
     
    [ ! -d $BACK_DIR ] && mkdir -p $BACK_DIR
    for i in $(grep -vE "Database|information_schema|test" $DB_LST)
    do
        mysqldump --user='root' --password='S1yxYRrE33TZPn1o' --default-character-set=utf8 --add-locks --lock-all-tables $i > $BACK_DIR/$i-$DATE.sql
        [ "$PWD" != "$BACK_DIR" ] && cd $BACK_DIR
        gzip  -f $BACK_DIR/$i-$DATE.sql
    done
     
    find $BACK_DIR -mtime +7 | xargs -i rm -rf {}

    mysqldump工具备份-1

    #!/bin/bash
    #2020-02-23
    #auto_backup_mysql.sh
    #by Flyaway
    ##############################
    SQL_DB="$*"
    SQL_USR="backup"
    SQL_PWD="123456"
    SQL_CMD="/usr/bin/mysqldump"
    SQL_DIR="/data/backup/`date +%F`"
    if [ $# -eq 0 ];then
        echo -e "33[32m---------------------33[0m"
        echo -e "33[32m Usage:{/bin/bash $0 jfedu001|jfedu002|jfedu003|jfedu004|all|help} 33[0m"
        exit
    fi
    
    if [ ! -d $SQL_DIR ];then
        mkdir -p $SQL_DIR
        echo -e "33[32m The dir $SQL_DIR create succeded.33[0m"
    fi
    #备份all 所有库:
    if [ $1 == "all" ];then
         $SQL_CMD -u$SQL_USR -p$SQL_PWD --all-databases  > $SQL_DIR/${SQL_DB}.sql
            if [ $? -eq 0 ];then
                    echo -e "33[32m---------------------33[0m"
                    echo -e "33[32m The mysql $SQL_DB database backup succeded. 33[0m"
                    echo -e "33[32m $SQL_DIR33[0m"
                    ls -l $SQL_DIR
            exit
            else
                    echo -e "33[32m---------------------33[0m"
                    echo -e "33[31m The mysql $SQL_DB database backup failed,please check. 33[0m"
                    rm -rf $SQL_DIR/${SQL_DB}.sql
                    echo -e "33[32m $SQL_DIR 33[0m"
                    ls -l $SQL_DIR
                exit
        fi
    fi
    #同时备份多个库:
    for i in $SQL_DB
    do
        echo $i
        sleep 2
        $SQL_CMD -u$SQL_USR -p$SQL_PWD $i > $SQL_DIR/${i}.sql
        if [ $? -eq 0 ];then
            echo -e "33[32m---------------------33[0m"
            echo -e "33[32m The mysql $i database backup succeded. 33[0m"
            echo -e "33[32m $SQL_DIR33[0m"
            ls -l $SQL_DIR
        else
            echo -e "33[32m---------------------33[0m"
            echo -e "33[31m The mysql $i database backup failed,please check. 33[0m"
            rm -rf $SQL_DIR/${i}.sql
            echo -e "33[32m $SQL_DIR 33[0m"
            ls -l $SQL_DIR
        fi
    done

    mysqldump工具备份-2

    #!/bin/bash
    #2020-02-29
    #auto_backup_mysql.sh
    #by Flyaway
    ##############################
    SQL_DB="$*"
    SQL_USR="backup"
    SQL_PWD="123456"
    SQL_CMD="/usr/bin/mysqldump"
    SQL_DIR="/data/backup/`date +%F`"
    #Define dunction check_backu_status
    function check_backup_status(){
    if [ $? -eq 0 ];then
                    echo -e "33[32m---------------------33[0m"
                    echo -e "33[32m The mysql $SQL_DB database backup succeded. 33[0m"
            #备份成功发送邮件
            #echo "The database backup succeded"|mail -s "database backup" f15372368849@163.com
            #备份成功发送微信信息
                    /usr/src/weixin.sh FengYuanFei test hello,world.
            echo -e "33[32m $SQL_DIR33[0m"
                    ls -l $SQL_DIR
                    exit
            else
                    echo -e "33[32m---------------------33[0m"
                    echo -e "33[31m The mysql $SQL_DB database backup failed,please check. 33[0m"
                    #备份失败将自动删除该文件
            rm -rf $SQL_DIR/${SQL_DB}.sql
            #备份失败发送邮件
                    echo -e "The database backup failed"|mail -s "database backup" f15372368849@163.com
            echo -e "33[32m $SQL_DIR 33[0m"
                    ls -l $SQL_DIR
                    exit
            fi
    }
    if [ $# -eq 0 ];then
        echo -e "33[32m---------------------33[0m"
        echo -e "33[32m Usage:{/bin/bash $0 jfedu001|jfedu002|jfedu003|jfedu004|all|help} 33[0m"
        exit
    fi
    #判断目录是否存在,不存在则创建
    if [ ! -d $SQL_DIR ];then
        mkdir -p $SQL_DIR
        echo -e "33[32m The dir $SQL_DIR create succeded.33[0m"
    fi
    #备份all 所有库:
    if [ $1 == "all" ];then
        $SQL_CMD -u$SQL_USR -p$SQL_PWD --all-databases  > $SQL_DIR/${SQL_DB}.sql
        check_backup_status
    fi
    #同时备份多个库:
    for i in $SQL_DB
    do
        echo $i
        sleep 2
        $SQL_CMD -u$SQL_USR -p$SQL_PWD $i > $SQL_DIR/${i}.sql
        check_backup_status
    done
  • 相关阅读:
    数据库之联合查询和连接查询
    数据库要素 ER
    数据库事务
    关系数据库常用名词及解释
    数据库索引
    关于数据库主键和外键(终于弄懂啦)
    coredata 删除与更新
    Predicate Programming Guide
    NSPredicate
    coreData-Fetching Managed Objects
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/13797649.html
Copyright © 2011-2022 走看看