千家信息网

写一个shell脚本备份mysql数据库的步骤

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,下文我给大家简单讲讲关于写一个shell脚本备份mysql数据库的步骤,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完写一个shell脚本备份mysql数据库的步骤对大家
千家信息网最后更新 2024年09月22日写一个shell脚本备份mysql数据库的步骤

下文我给大家简单讲讲关于写一个shell脚本备份mysql数据库的步骤,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完写一个shell脚本备份mysql数据库的步骤对大家多少有点帮助吧。

mysql数据库shell备份脚本

任何项目的运行都离不开数据,持久化数据对于一个企业尤为重要,任何时候都不可掉以轻心,下面是我自己写的一个shell脚本,用来备份数据,分享给大家。

#!/bin/bash# 数据库连接信息MY_user=""MY_pass=""MY_port="3306"# 环境变量PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/data/mysql_57/binexport PATHMY_data=`date "+%F"`# 脚本日志SHELL_LOG="/root/mysql_bak.sh.log"# mysql 目录Mysql_datadir="/data/mysql_57"Mysql_Binlog_dir="/data/mysql_57/logs/bin-log"# 备份目录Bak_dir="/root/mysql_data"Full_dir=${Bak_dir}/full  # 全量备份目录DB_dir=${Bak_dir}/db  # 单库备份目录Binlog_dir=${Bak_dir}/binlog  # 增量二进制备份目录# Write Log shell_log(){    LOG_INFO=$1    echo "$(date "+%F") $(date "+%T") : $0 : ${LOG_INFO}" >> ${SHELL_LOG}}case $1 in# 全量备份Full)    mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -A -B -F -R -x --events|gzip > ${Full_dir}/${MY_data}_all.sql.gz    if [[ $? -eq 0 ]];then        shell_log "SUCCESS: mysql Full database bak is success"    else        shell_log "ERROR: mysql Full database bak error"    fi;;# 单库备份db)    db_fun(){        DB_name=$1        mysqldump -u${MY_user} -p${MY_pass} -P${MY_port} -F -B  ${DB_name}|gzip > ${DB_dir}/${MY_data}_${DB_name}.sql.gz        if [[ $? -eq 0 ]];then            shell_log "SUCCESS: mysql database ${DB_name} bak is success"        else            shell_log "ERROR: mysql database ${DB_name} bak error"        fi    }    db_fun cadavertrace;;# 增量备份(全量和单库备份都会刷新二进制日志)increment)    cd ${Mysql_Binlog_dir}    binlog=`ls -At mysql-bin* | head -n 1`    gzip -c ${binlog} > ${Binlog_dir}/${binlog}.gz    mysql -u${MY_user} -p${MY_pass} -P${MY_port} -e "flush logs;" 2> /dev/null;;*)    echo "ERROR: Usage: mysqlbak [ Full | db | increment ]";;esac#if [[ $# -eq 0 ]];then#   echo "Invalid paramete;Full | db | increment"  
#fi

大家觉得写一个shell脚本备份mysql数据库的步骤这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。
0