ubuntu

如何配置Ubuntu上的MongoDB备份策略

小樊
33
2025-12-12 19:35:18
栏目: 云计算

Ubuntu 上 MongoDB 备份策略实操指南

一 策略选型与规划

二 快速落地 每日全量备份脚本

#!/usr/bin/env bash
set -Eeuo pipefail

# 配置
BACKUP_ROOT="/var/backups/mongodb"
DATE=$(date +"%Y%m%d_%H%M%S")
OUT_DIR="$BACKUP_ROOT/$DATE"
LOG_FILE="$BACKUP_ROOT/backup.log"
RETENTION_DAYS=7

# 认证(如无认证可删除 --username/--password/--authenticationDatabase)
MONGO_URI="mongodb://backup_user:YourStrongPass@localhost:27017/admin"

# 目录与日志
mkdir -p "$OUT_DIR"
exec >>"$LOG_FILE" 2>&1

echo "[$(date)] 开始备份 -> $OUT_DIR"

# 执行备份(如仅备份单库:--db your_db)
mongodump --uri "$MONGO_URI" --out "$OUT_DIR"

# 压缩归档
ARCHIVE="$BACKUP_ROOT/mongodb_$DATE.tar.gz"
tar -czf "$ARCHIVE" -C "$BACKUP_ROOT" "$DATE"

# 校验并清理
if tar -tzf "$ARCHIVE" >/dev/null 2>&1; then
  echo "[$(date)] 备份校验通过: $ARCHIVE"
  rm -rf "$OUT_DIR"
else
  echo "[$(date)] 备份校验失败: $ARCHIVE"
  exit 1
fi

# 清理过期
find "$BACKUP_ROOT" -name "mongodb_*.tar.gz" -mtime +$RETENTION_DAYS -delete
echo "[$(date)] 清理 $RETENTION_DAYS 天前备份完成"

三 时间点恢复与增量思路

四 物理备份与恢复

五 验证 监控与常见坑

0
看了该问题的人还看了