From 36d384f8fa4214719947965587477fe880486331 Mon Sep 17 00:00:00 2001 From: milky0217 Date: Wed, 15 Jul 2026 11:07:37 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A0=E9=99=A4=E5=B7=B2=E5=BA=9F?= =?UTF-8?q?=E5=BC=83=E7=9A=84=20scripts/backup-db.sh=EF=BC=88=E8=A2=AB=20d?= =?UTF-8?q?aily-backup.sh=20=E6=9B=BF=E4=BB=A3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/backup-db.sh | 55 -------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100755 scripts/backup-db.sh diff --git a/scripts/backup-db.sh b/scripts/backup-db.sh deleted file mode 100755 index b7d19ae..0000000 --- a/scripts/backup-db.sh +++ /dev/null @@ -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 备份完成"