Ubuntu中mongodb异常处理

因为mongodb的安全机制在非正常关闭后需要修复记录


断电之后我处理的方式是在开机的时候修复一下数据库:
#!/bin/bash 
#首先判断.lock文件是否存在,存在就删除它然后修复一下,再重新启动
if [ -f /var/lib/mongodb/mongod.lock  
then
    #如果mongodb服务已启动的话就关闭它(有点多余,但是以防万一)
      mongo admin --eval"db.shutdownServer()" ;
      sudo rm -rf /var/lib/mongodb/mongod.lock ;
      sudo rm -rf/var/log/mongodb/mongodb.log ;
      #!/usr/bin/mongod
      sudo mongod --repair;
      sudo mongod
       echo   "rmlock file finished ! ";
fi


#!/usr/local/bin/forever
sudoforever start /home/apk/apkAnalysis/app.js

如果在目录下没有/data/db这个文件夹,我们就需要自己创建一个

sudo mkdir -p /data/db/

sudo chown `id -u` /data/db


Mongodb官方提供的文档里面使用以下命令关闭mongodb

  1. mongo
  2. useadmin 
  3. db.shutdownServer()

但是这样每次都要进入mongodb控制端,现在可以用以下命令代替

  1. mongo admin--eval "db.shutdownServer()"

这是使用mongo的eval功能,上面是默认配置下的命令。如果你有其他配置属性,也得加上,比如端口或者认证信息等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值