2025-09-17 00:44:37 -04:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# MongoDB 监控脚本
|
|
|
|
|
|
# 功能:检查 MongoDB 是否运行,如果停止则自动重启
|
|
|
|
|
|
|
|
|
|
|
|
# MongoDB 服务名称(根据你的系统配置调整)
|
|
|
|
|
|
SERVICE_NAME="mongod"
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 MongoDB 状态函数
|
|
|
|
|
|
check_mongodb() {
|
|
|
|
|
|
# 检查 MongoDB 进程是否在运行
|
|
|
|
|
|
if pgrep -x "$SERVICE_NAME" > /dev/null; then
|
|
|
|
|
|
echo "$(date): MongoDB 正在运行"
|
|
|
|
|
|
return 0
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "$(date): MongoDB 已停止"
|
|
|
|
|
|
return 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# 重启 MongoDB 函数
|
|
|
|
|
|
restart_mongodb() {
|
|
|
|
|
|
echo "$(date): 尝试重启 MongoDB..."
|
|
|
|
|
|
|
|
|
|
|
|
# 根据你的系统选择适当的命令
|
|
|
|
|
|
# 对于使用 systemd 的系统(如 Ubuntu 16.04+, CentOS 7+)
|
2025-09-17 00:49:30 -04:00
|
|
|
|
if systemctl restart "mongodb"; then
|
2025-09-17 00:44:37 -04:00
|
|
|
|
echo "$(date): MongoDB 重启成功"
|
|
|
|
|
|
return 0
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "$(date): MongoDB 重启失败"
|
|
|
|
|
|
return 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 对于使用 init.d 的系统
|
|
|
|
|
|
# service mongod restart
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ! check_mongodb; then
|
|
|
|
|
|
echo "$(date): 检测到 MongoDB 停止运行"
|
|
|
|
|
|
restart_mongodb
|
|
|
|
|
|
fi
|