面试题答案
一键面试基本步骤
- 安装 MongoDB 备份工具:确保系统已安装
mongodump
工具,一般在安装 MongoDB 数据库时会一同安装。 - 确定备份周期:通过
crontab
等定时任务工具来设定备份执行的时间间隔,如每天、每周等。 - 选择备份存储位置:确定一个合适的目录用于存放备份文件,要保证该目录有足够的空间且有适当的权限。
- 执行备份操作:使用
mongodump
命令对指定数据库进行备份。
确保数据完整性的方法
- 一致性备份:在备份前可使用
fsync
命令将内存中的数据刷新到磁盘,确保数据一致性。可结合lock
操作防止备份过程中有写操作影响数据完整性。 - 验证备份数据:备份完成后,使用
mongorestore
命令对部分或全部备份数据进行恢复测试,验证数据是否能正确恢复。
简单脚本框架
#!/bin/bash
# 备份目录
BACKUP_DIR=/path/to/backup
# 当前日期作为备份文件夹名称
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_PATH=$BACKUP_DIR/$DATE
# 创建备份目录
mkdir -p $BACKUP_PATH
# 执行备份命令,假设 MongoDB 运行在本地默认端口 27017
mongodump --uri="mongodb://localhost:27017/mydb" -o $BACKUP_PATH
# 备份完成后可添加验证逻辑,如恢复部分数据测试
# mongorestore --uri="mongodb://localhost:27017" --nsInclude="mydb.*" $BACKUP_PATH/mydb
# 可添加清理旧备份的逻辑,这里省略
将上述脚本保存为一个文件(如 backup_mongodb.sh
),并赋予执行权限 chmod +x backup_mongodb.sh
,然后通过 crontab
添加定时任务,如每天凌晨 2 点执行备份:
0 2 * * * /path/to/backup_mongodb.sh