From e2d47c3e1bb329c50942195f31e58e4d69a422ce Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Thu, 18 Apr 2024 12:50:51 +0800 Subject: [PATCH] chore: back --- docker-cloud/mysql/backup/mysql-backup.sh | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 docker-cloud/mysql/backup/mysql-backup.sh diff --git a/docker-cloud/mysql/backup/mysql-backup.sh b/docker-cloud/mysql/backup/mysql-backup.sh new file mode 100755 index 00000000..11dde212 --- /dev/null +++ b/docker-cloud/mysql/backup/mysql-backup.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# 配置属性 +DB_HOST="139.9.72.189" +DB_PORT="8052" +DB_USER="root" +DB_PASS="kanglai@2022" +DB_NAMES="db_kicc db_kicc_config db_kics db_kanglai" +ROOT_DIR="/opt/database-backup/mysql-backup" +BACKUP_DIR="${ROOT_DIR}/$(date +%Y-%m-%d)" + +if [ -d $BACKUP_DIR ]; then + echo "今天已经备份过了无法覆盖备份需要覆盖备份请先删除今天的备份目录" +else + for DB_NAME in $DB_NAMES + do + echo "开始备份${DB_NAME}..." + TABLE_PATH=${BACKUP_DIR}/${DB_NAME}/Tables DB_PATH=${BACKUP_DIR}/${DB_NAME}/Database + mkdir -p $TABLE_PATH $DB_PATH + # 执行 MyDumper 备份命令(直接连接远程MySQL服务器执行备份) + mydumper -h $DB_HOST -P $DB_PORT -u $DB_USER -p $DB_PASS -B $DB_NAME -o $TABLE_PATH -s 104857600 + # 合并备份文件为一个 SQL 文件 + find $TABLE_PATH -name "*.sql" -exec cat {} >> "${DB_PATH}/${DB_NAME}.sql" \; + echo "${DB_NAME}备份完毕." + done +fi + +# 清除超过30天未修改的备份目录 +find $ROOT_DIR -type d -mtime +30 -exec rm -rf {} \; +