面试题答案
一键面试#!/bin/bash
# 检查RabbitMQ服务状态的函数
check_rabbitmq_status() {
rabbitmqctl status &> /dev/null
return $?
}
# 重启RabbitMQ服务的函数
restart_rabbitmq() {
systemctl restart rabbitmq-server
}
# 主逻辑
while true; do
if check_rabbitmq_status; then
echo "RabbitMQ服务正在运行。"
else
echo "RabbitMQ服务未运行,正在尝试重启..."
restart_rabbitmq
if check_rabbitmq_status; then
echo "RabbitMQ服务重启成功。"
else
echo "RabbitMQ服务重启失败,请手动检查。"
fi
fi
# 每隔60秒检查一次
sleep 60
done
关键命令解释:
rabbitmqctl status
:用于检查RabbitMQ服务的运行状态。systemctl restart rabbitmq-server
:用于重启RabbitMQ服务。sleep 60
:使脚本每隔60秒执行一次检查。