MySQL mysqldump 备份脚本(按照db.sql)

mysqldump逻辑备份,按照db.sql文件区分,并压缩

复制代码
#! /bin/bash
#35  02 * * *  mysql /data/mysqldata/scripts/mysqldump_per_db.sh  >> /data/mysql/backup/mysql_back1.log 2>&1
############################################################
# Define the variables the script used for executing.
#mysql backup by hongquan on 2017
#day=`date +%u`
curHour=`date +%H`
curDate=`date +'%Y%m%d'`
backupDir=/data/mysqldata/backup
mysqlHost=127.0.0.1
HOST_PORT=3306
logicuser=****
logicpass=***
logicalBackupDir=/data/mysqldata/backup/logical
logfile=/data/mysqldata/backup/mysql_backup.log
sockfile=/data/mysqldata/3306/mysql.sock

MYSQL_PATH=/usr/local/mysql/bin
MYSQL_CMD="${MYSQL_PATH}/mysql -u${logicuser} -p${logicpass} -h${mysqlHost} -S /data/mysqldata/${HOST_PORT}/mysql.sock"
MYSQL_DUMP="${MYSQL_PATH}/mysqldump -u${logicuser} -p${logicpass} -h${mysqlHost} -P${HOST_PORT}  -R -S  \
            ${sockfile} --single-transaction  --master-data=2 --default-character-set=utf8 --set-gtid-purged=OFF -q "

echo "NOW is : Backup type='logical'" >> ${logfile}
echo "backup start" `date` >> ${logfile}
echo >> ${logfile}

#list="mysql aquarius"

 if [ ! -d "${backupDir}" ]; then
    mkdir -p "${backupDir}"
    echo -e "===${backupDir} does not exsits,created them!" >> ${logfile}
    fi

 if [ ! -d "${logicalBackupDir}" ]; then
    mkdir -p "${logicalBackupDir}"
    echo -e "===${logicalBackupDir} does not exsits,created them!" >> ${logfile}
    fi


    # -------------------------- logical backup with mysqldump --------------------------
echo -e "mysqldumpbk per db list= ${list} " >> ${logfile}
    for dbs in `${MYSQL_CMD} 2>/dev/null  -e "show databases" | sed '1d' | egrep -v "information_schema|performance_schema|sys"`
     do
       echo -e "echo $dbs is appoint ; " >> ${logfile}
     ${MYSQL_DUMP} ${dbs} 2>/dev/null | gzip >  ${logicalBackupDir}/${dbs}_${curDate}.sql.gz

       echo -e " **** database :${dbs} backup stop_time :`date +%F' '%T' '%w` **** \n">> ${logfile}
       echo -e "**** backup file size:`du -sh ${logicalBackupDir}/`**** \n" >> ${logfile}
    done

echo -e "\n=== backup dened at `date +%F' '%T' '%w`===\n" >> ${logfile}
复制代码

 

posted @   春困秋乏夏打盹  阅读(408)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示