Debian系统下MongoDB定期维护主要包括备份、监控、日志管理及配置优化,具体操作如下:
定期备份
使用mongodump
工具编写备份脚本,通过cron
定时任务执行,可设置全量备份或增量备份(结合--oplog
参数)。
示例脚本:
#!/bin/bash
BACKUP_DIR="/backup/mongodb"
DATE=$(date +%Y%m%d%H%M%S)
mongodump --host localhost --port 27017 --gzip --archive=$BACKUP_DIR/db_$DATE.gz
添加定时任务:
crontab -e
# 每天凌晨2点执行备份
0 2 * * * /path/to/backup_script.sh
监控与日志管理
mongostat
(实时状态)和mongotop
(读写统计)工具。logrotate
工具配置日志切割,例如每天轮转并保留7天日志。/etc/logrotate.d/mongodb
:/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
postrotate
/bin/kill -SIGUSR1 $(cat /var/lib/mongodb/mongod.lock)
endscript
}
配置优化
编辑/etc/mongod.conf
调整参数,如绑定IP、端口、数据存储路径等,修改后需重启服务生效。
服务维护
sudo systemctl stop mongod
sudo systemctl start mongod
use admin
db.runCommand({replSetMaintenance: 1}) # 进入维护模式
db.runCommand({replSetMaintenance: 0}) # 退出维护模式
安全与验证
定期验证备份完整性,可通过恢复测试确保数据可用性。
限制日志文件权限,避免敏感信息泄露。
参考来源:[1,2,3,4,5,6,7,8,9,10,11]