在CentOS上备份和恢复MongoDB数据库,可以使用mongodump
和mongorestore
工具。以下是备份和恢复的步骤:
登录到MongoDB服务器:
ssh user@your_mongodb_server
使用mongodump
进行备份:
mongodump --out /path/to/backup/directory
例如:
mongodump --out /backups/mongodb_backup_$(date +%Y%m%d%H%M%S)
压缩备份文件(可选):
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服务器:
ssh user@your_mongodb_server
使用mongorestore
进行恢复:
mongorestore /path/to/backup/directory
例如:
mongorestore /backups/mongodb_backup_20230401123456
如果需要解压缩并恢复:
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
然后运行相应的脚本即可完成备份和恢复操作。