溫馨提示×

Ubuntu MongoDB數據備份與恢復技巧

小樊
55
2025-09-15 00:21:52
欄目: 云計算

備份技巧

  1. 全量備份
    使用 mongodump 備份整個數據庫或指定集合,支持增量備份(通過 --oplog--since 參數)。
    示例

    mongodump --host localhost --port 27017 --db mydb --out /backups/mongodb/full_$(date +%Y%m%d)
    
  2. 增量備份
    基于全量備份,通過 --oplog 參數備份自上次備份以來的變更。
    示例

    mongodump --host localhost --port 27017 --oplog --out /backups/mongodb/incremental_$(date +%Y%m%d)
    
  3. 自動化備份
    通過 cron 定時任務執行備份腳本,結合壓縮和保留策略(如保留7天每日備份、4周每周備份)。
    示例腳本

    #!/bin/bash
    BACKUP_DIR="/backups/mongodb"
    DATE=$(date +%Y%m%d)
    mongodump --host localhost --port 27017 --out $BACKUP_DIR/$DATE
    tar -czvf $BACKUP_DIR/mongodb_$DATE.tar.gz $BACKUP_DIR/$DATE
    find $BACKUP_DIR -name "mongodb_*.tar.gz" -mtime +7 -exec rm {} \;
    
  4. 異地與加密備份
    將備份文件存儲至遠程服務器或云存儲,敏感數據可加密(如使用 gpg)。

恢復技巧

  1. 全量恢復
    停止 MongoDB 服務,刪除原有數據(可選),用 mongorestore 恢復備份。
    示例

    sudo systemctl stop mongod
    mongorestore --db mydb /backups/mongodb/full_20250915
    sudo systemctl start mongod
    
  2. 增量恢復
    按時間順序依次恢復全量備份和增量備份,需確保 oplog 已啟用。
    示例

    mongorestore --oplogReplay --db mydb /backups/mongodb/incremental_20250915
    
  3. 驗證恢復
    通過 mongo shell 連接數據庫,檢查數據完整性和一致性。
    示例

    mongo
    use mydb
    db.collection.find()
    

注意事項

  • 恢復前務必停止寫操作,避免數據沖突。
  • 定期測試備份有效性,模擬恢復流程。
  • 敏感數據需加密存儲,異地備份提升可靠性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女