康来智慧冷链-后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

30 lines
1.0 KiB

#!/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 {} \;