如何备份和恢复CentOS上的MongoDB配置

979
2025/3/25 18:32:27
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS系统上备份和恢复MongoDB配置可以通过以下几种方法实现:

使用mongodump和mongorestore进行备份和恢复

  • 全量备份:使用mongodump命令进行全量备份。例如,备份所有数据库和集合:

    mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin --gzip --out /data/backup/mongodump
    

    备份指定数据库和集合:

    mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d test -c trackEvent20230902 --gzip --out /data/backup/trackEvent20230902
    
  • 增量备份:使用mongodump--query--oplog参数进行增量备份。例如,备份满足特定条件的数据:

    mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin --query '{ "date": { "$gte": ISODate("2023-09-02T00:00:00Z") } }' --oplog --out /data/backup/incremental
    
  • 恢复:使用mongorestore命令进行恢复。例如,恢复所有备份数据:

    mongorestore --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin /data/backup/mongodump
    

    恢复指定数据库:

    mongorestore --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin /data/backup/mongodump/test
    

使用crontab进行定时备份

  1. 创建备份脚本,例如/home/crontab/mongod_bak.sh,并添加以下内容:

    #!/bin/sh
    /usr/local/mongodb/bin/mongodump --out /home/backup/mongod_bak/$(date +%Y_%m_%d)
    
  2. 修改脚本属性,使其可执行:

    chmod +x /home/crontab/mongod_bak.sh
    
  3. 编辑/etc/crontab文件,添加定时任务,例如每天凌晨1点执行备份:

    0 1 * * * root /home/crontab/mongod_bak.sh
    
  4. 重启crond服务以应用设置:

    service crond restart
    

注意事项

  • 在执行备份和恢复操作之前,请确保MongoDB服务已停止或处于维护模式。
  • 备份过程中可能会产生大量I/O操作,建议在低峰时段进行备份。
  • 恢复操作会覆盖现有数据库中的数据,请谨慎操作。

通过上述方法,您可以在CentOS系统上有效地备份和恢复MongoDB配置,确保数据的安全性和可恢复性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 在centos里mongodb安装路径在哪