监测mongodb服务并启动

宝塔面板安装的mongodb数据库,但是缺少一个进程守护工具。

只能通过面板的定时任务每分钟去检查端口27017的链接数并输出,

如果链接数为了0,就重启mongodb服务。

复制代码
#!/bin/bash
current=$(date +%H.%M)
p27017_procnum=`netstat -nat | grep -i "27017" | wc -l`
echo "当前 "$current" 端口27017连接数 "$p27017_procnum

if [ $p27017_procnum -eq 0 ]; then
    chown -R mongo:mongo /tmp/mongodb-27017.sock
    chmod -R 700 /tmp/mongodb-27017.sock
    echo "/etc/init.d/mongodb start..."
    /etc/init.d/mongodb start 
fi

也许有同学会担心,服务没有出问题,就是没有客户端来连接,这种情况。

对与这种情况大家要清楚mongdo的链接类似于mysql的长连接。也就是只要有一次连接,这个连接就会保持很长一段时间,除非是你的mongodb是很长时间没有客户端使用,才会触发这种极端情况。这个每分钟检查的脚本只能属于临时应急措施。

相关推荐
jakeswang3 分钟前
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
数据库·mysql
Heliotrope_Sun17 分钟前
Redis
数据库·redis·缓存
一成码农25 分钟前
MySQL问题7
数据库·mysql
吃饭最爱27 分钟前
JUnit技术的核心和用法
数据库·oracle·sqlserver
专注API从业者28 分钟前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
雨落Liy1 小时前
SQL 函数从入门到精通:原理、类型、窗口函数与实战指南
数据库·sql
Kt&Rs2 小时前
MySQL复制技术的发展历程
数据库·mysql
小小菜鸡ing2 小时前
pymysql
java·服务器·数据库
手握风云-2 小时前
MySQL数据库精研之旅第十六期:深度拆解事务核心(上)
数据库·mysql
boonya3 小时前
Redis核心原理与面试问题解析
数据库·redis·面试