MENU

宝塔面板 添加定时任务守护mongodb

February 20, 2023 • 已被 242 位童鞋围观过 • 系统运维,Mongo

场景:

因为某些原因,服务器上的mongodb 挂掉了 ,需要自动重启mongodb

思路:

写个守护进程脚本,每分钟查看mongodb状态(这里查看mongodb进程是否存在),如果挂掉就重启

方法:

  1. 查看 mongodb 进程
ps -ef | grep 'mongod'

  1. 精准查询mongodb进程并去掉grep自己
ps -ef | grep 'mongod -f /www/server/mongodb/config.conf' | grep -v 'grep'

  1. 统计数量
ps -ef | grep 'mongod -f /www/server/mongodb/config.conf' | grep -v 'grep' | wc -l

  1. 写shell命令,这里注意的是脚本中的if条件 中括号两边要留有空格,否者会出现问题
    注: 宝塔面板下面的Mongo启动脚本是在/etc/init.d/下面
#!/bin/bash
m=$(ps -ef | grep 'mongod -f /www/server/mongodb/config.conf' | grep -v 'grep' | wc -l);
if [ $m -ne 1 ]; then
    /etc/init.d/mongodb start
fi
  1. 把上面的Shell命令添加到宝塔的定时任务中,时间设置为每分钟,也可以自行添加到系统的定时任务中 /etc/crontab

脚本参考: https://blog.csdn.net/weixin_37933545/article/details/128670451

Last Modified: September 28, 2023