MySQL数据库备份脚本

原创 宇宙     发表于  2021-11-26 09:20       6
原文链接:

MySQL数据库备份脚本

新建一个.sh文件,

touch mysqlDump.sh

编写/root/mysqlDump.sh脚本

#!/bin/bash

# 备份保存天数
EXPIRES_DAYS=10
# 备份库名,多个数据库使用空格隔开
DB_NAMES=(leliven_washcar iot.scw)

# 数据库配置
DB_IP=192.168.0.158
DB_USER=root
DB_PWD=123456

# 备份命令
COMMAND='--single-transaction'

# 备份文件路径
BK_PATH="/root/"
cd $BK_PATH


# 获取当天时间
TODAY=`date -d today +"%Y%m%d"`
echo '当前时间:'$TODAY

EXPIRES_DAY=`date +"%Y%m%d" -d "-${EXPIRES_DAYS} days"`
echo '过期时间:'$EXPIRES_DAY

# file
sqlFileName=db_${TODAY}.sql
tarFileName=db_${TODAY}.tar.gz


for dbName in ${DB_NAMES[@]}
do
expiresTarName=${dbName}_db_${EXPIRES_DAY}.tar.gz
rm -rf $expiresTarName
echo '删除过期备份文件:'$expiresTarName


sqlName=${dbName}_${sqlFileName}
tarName=${dbName}_${tarFileName}
echo '开始备份数据库:'${dbName}...

$(mysqldump -h $DB_IP -u$DB_USER -p$DB_PWD $COMMAND $dbName > ${sqlName} && tar -czf ${tarName} ${sqlName} && rm -rf ${sqlName})

echo '备份完成。'
done

编写vi /etc/crontab脚本

添加

55 23 * * * root sh /root/mysqlDump.sh

每天晚上23点55分运行备份脚本


相关文章

公众号
QQ讨论群