chore: 删除已废弃的 scripts/backup-db.sh(被 daily-backup.sh 替代)
Some checks failed
Deploy Backend / deploy (push) Has been cancelled

This commit is contained in:
2026-07-15 11:07:37 +08:00
parent 917d69c171
commit 36d384f8fa

View File

@@ -1,55 +0,0 @@
#!/bin/bash
# ===========================================
# 数据库备份脚本
# 用途: 备份 PostgreSQL 数据库到本地文件
# 建议: 每天通过 cron 执行一次
# Crontab 示例:
# 0 4 * * * /root/rust/rust_backend/scripts/backup-db.sh >> /root/rust/rust_backend/logs/backup.log 2>&1
# ===========================================
set -euo pipefail
DB_CONTAINER="1Panel-postgresql-FtMo"
DB_NAME="${1:-milkydata}"
DB_USER="milkydata"
BACKUP_DIR="/root/rust/rust_backend/backups"
RETENTION_DAYS=7
LOG_PREFIX="[$(date '+%Y-%m-%d %H:%M:%S')]"
echo "$LOG_PREFIX 开始备份数据库: ${DB_NAME}"
# 确保备份目录存在
mkdir -p "$BACKUP_DIR"
# 检查容器是否运行
if ! docker ps --format '{{.Names}}' | grep -q "^${DB_CONTAINER}$"; then
echo "$LOG_PREFIX 错误: Docker 容器 ${DB_CONTAINER} 未运行"
exit 1
fi
# 执行备份(自定义格式,可压缩)
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_$(date +%Y%m%d_%H%M%S).dump"
echo "$LOG_PREFIX 导出到: ${BACKUP_FILE}"
docker exec "$DB_CONTAINER" pg_dump -U "$DB_USER" -Fc "$DB_NAME" > "$BACKUP_FILE"
# 检查备份是否成功
if [ -f "$BACKUP_FILE" ] && [ -s "$BACKUP_FILE" ]; then
FILE_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "$LOG_PREFIX 备份成功: ${BACKUP_FILE} (${FILE_SIZE})"
else
echo "$LOG_PREFIX 错误: 备份文件为空或不存在"
exit 1
fi
# 删除旧备份(保留 RETENTION_DAYS 天)
echo "$LOG_PREFIX 清理 ${RETENTION_DAYS} 天前的旧备份..."
find "$BACKUP_DIR" -name "${DB_NAME}_*.dump" -mtime "+${RETENTION_DAYS}" -delete
# 记录保留的备份
echo "$LOG_PREFIX 当前备份列表:"
ls -lh "$BACKUP_DIR"/*.dump 2>/dev/null || echo " (无备份文件)"
echo "$LOG_PREFIX 备份完成"