• Mysql数据备份-crontab进行排成计划


    背景:需要对Mysql做数据库备份,

    解决方案方案:使用到Linux自带的crontab进行排成设定,通过自行编写的一个备份数据库的脚本把数据库进行备份,同时加入到crontab中就可以进行自动备份啦

     

     

     

     mysql_local_backup.sh

    #!/bin/bash
    
    USERNAME=root
    PASSWORD=Foxconn123$
    DATE=`date +%Y-%m-%d`
    OLDDATE=`date +%Y-%m-%d -d '-30 days'`
    H=127.0.0.1
    P=3307
    
    #MYSQL=/usr/local/mysql/bin/mysql
    #MYSQLDUMP=/usr/local/mysql/bin/mysqldump
    #MYSQLADMIN=/usr/local/mysql/bin/mysqladmin
    
    BACKDIR=/data/mysql_local_backup
    [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
    [ -d ${BACKDIR}/${DATE} ] || mkdir ${BACKDIR}/${DATE}
    [ ! -d ${BACKDIR}/${OLDDATE} ] || rm -rf ${BACKDIR}/${OLDDATE}
    #MYSQLDUMP_LIST=`/usr/local/mysql/bin/mysql -u root -p'Foxconn123$' -P 3307 -h 127.0.0.1 -e "show databases"| grep -Evi "database|infor|perfor|sys|mysql"`
    MYSQLDUMP_LIST=`mysql -u root -u${USERNAME} -P${P} -h${H} -p${PASSWORD} -e "show databases"| grep -Evi "database|infor|perfor|sys|mysql"`
    
    for DBNAME in ${MYSQLDUMP_LIST}
    do
      mysqldump -B -F --master-data=2 --flush-privileges  --flush-logs --triggers --routines --events --single-transaction -u${USERNAME} -P${P} -h${H} -p${PASSWORD} ${DBNAME} | gzip > ${BACKDIR}/${DATE}/${DBNAME}-full_backup-${DATE}.sql.gz
    
      /bin/sleep 2
      logger "${DBNAME} has been backup successful - $DATE"
    done
  • 相关阅读:
    LeetCode
    LeetCode
    ELK系列(5)
    ELK系列(4)
    ELK系列(3)
    ELK系列(2)
    ELK系列(1)
    计算机网络常见面试题总结
    mosquitto启动时Address already in use 和 一般的 Address already in use
    size和STL中的size_type
  • 原文地址:https://www.cnblogs.com/shexunyu/p/15166005.html
Copyright © 2020-2023  润新知