【定期归档及清理数据库脚本】

#!/bin/bash

#定期归档及清理数据库
#使用方法 ./backup_****_with_conditions.sh
#可以把脚本加入到crontab里面

# 配置参数
DB_USER="XXXX"
DB_PASSWORD="XXX"
DB_NAME="databaseName"
SEVEN_DAYS_AGO=$(date -d "-7 days" '+%Y-%m-%d\ %H:%M:%S') # 需要处理N天前的数据
TABLES=("table1" "table2")  # 需要导出的表名列表
WHERE_CONDITIONS=("insert_time < '$SEVEN_DAYS_AGO'" "req_time < '$SEVEN_DAYS_AGO'")  # 每个表对应的 WHERE 条件,个数需要与表名列表对应
BACKUP_DIR="/data/logs/backup/sql" # 归档文件位置
DATE=$(date +%Y%m%d_%H%M%S)
DOCKER_CONTAINER="mysql8.0.19"  # Docker 容器名称

# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"

# 日志文件
LOG_FILE="$BACKUP_DIR/backup_$DATE.log"

# 函数:记录日志
log() {
    echo "$(date +'%Y-%m-%d %H:%M:%S') - $1"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhouyiddd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值