Debian Linux脚本.重新启动MongoDB



帮助编写可以挂在CRON上的SH脚本。脚本检查MongoDB是否存在,如果不存在则删除mongod文件。锁定并重启mongo服务器

if (mongo == down) {
# rm /var/lib/mongodb/mongod.lock
# /etc/init.d/mongodb restart
}

如果您要在承载mongodb的同一台机器上运行此脚本,则使用nc命令和-z参数检查mongodb是否在端口27017上侦听,如果不是,它将在修复后运行。

 #!/bin/bash
 if ! nc -z localhost 27017 
 then
      /usr/bin/mongod --repair --dbpath /path/to/db 
      /usr/bin/mongod --fork --syslog --dbpath /path/to/db 
 fi
您应该为将要运行mongodb的用户添加cron job。

第一次编写bash脚本的经验。这里有一些选项可以让我:

#!/usr/bin/env bash
function now_time() {
    date +"%Y-%m-%d %H:%M:%S"
}
function logging() {
    echo "`now_time` [$1] $2" >> /var/mongoRestart.log
}
A=`/etc/init.d/mongodb status`
if [[ $A == "Checking status of database: mongodb running." ]]; then
  echo 'true'
else
  rm /var/lib/mongodb/mongod.lock
  /etc/init.d/mongodb restart
  logging FALSE 'mongodb down' 
fi    

最新更新