centos

CentOS MongoDB如何备份与恢复

小樊
42
2025-05-20 23:52:00
栏目: 云计算

在CentOS上备份和恢复MongoDB数据库,可以使用mongodumpmongorestore工具。以下是备份和恢复的步骤:

备份MongoDB

  1. 登录到MongoDB服务器

    ssh user@your_mongodb_server
    
  2. 使用mongodump进行备份

    mongodump --out /path/to/backup/directory
    

    例如:

    mongodump --out /backups/mongodb_backup_$(date +%Y%m%d%H%M%S)
    
  3. 压缩备份文件(可选):

    tar -czvf /backups/mongodb_backup_$(date +%Y%m%d%H%M%S).tar.gz /backups/mongodb_backup_$(date +%Y%m%d%H%M%S)
    

恢复MongoDB

  1. 登录到MongoDB服务器

    ssh user@your_mongodb_server
    
  2. 使用mongorestore进行恢复

    mongorestore /path/to/backup/directory
    

    例如:

    mongorestore /backups/mongodb_backup_20230401123456
    
  3. 如果需要解压缩并恢复

    tar -xzvf /backups/mongodb_backup_20230401123456.tar.gz -C /
    mongorestore /backups/mongodb_backup_20230401123456
    

注意事项

示例脚本

以下是一个简单的备份和恢复脚本示例:

备份脚本 (backup_mongodb.sh)

#!/bin/bash

BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_PATH="${BACKUP_DIR}/mongodb_backup_${DATE}"

mkdir -p ${BACKUP_PATH}
mongodump --out ${BACKUP_PATH}

echo "Backup completed: ${BACKUP_PATH}"

恢复脚本 (restore_mongodb.sh)

#!/bin/bash

RESTORE_DIR="/backups"
BACKUP_FILE="mongodb_backup_$(date +%Y%m%d%H%M%S).tar.gz"

if [ ! -f ${RESTORE_DIR}/${BACKUP_FILE} ]; then
    echo "Backup file not found: ${RESTORE_DIR}/${BACKUP_FILE}"
    exit 1
fi

tar -xzvf ${RESTORE_DIR}/${BACKUP_FILE} -C /
mongorestore ${RESTORE_DIR}/${BACKUP_FILE%.*}

echo "Restore completed: ${RESTORE_DIR}/${BACKUP_FILE}"

确保在执行这些脚本之前,给予它们执行权限:

chmod +x backup_mongodb.sh
chmod +x restore_mongodb.sh

然后运行相应的脚本即可完成备份和恢复操作。

0
看了该问题的人还看了