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