部分脚本借助GPT3.5完成
登录多台服务器进行批量操作
ssh或scp命令在部分生产环境下可能会被禁止,请谨慎使用
磁盘一键挂载
数据库表字段值异常判断
服务自启
# 定义微服务的名称和url路径
SERVICE_NAME="your_service_name"
# 替换为你的健康检查URL
HEALTH_CHECK_URL="http://ip:port/"
# 检查服务是否在运行
function check_service_status() {
local service_status=$(ps aux | grep "$SERVICE_NAME" | grep -v "grep" | wc -l)
if [ $service_status -eq 0 ]; then
echo "$SERVICE_NAME服务不在运行" > /tmp/service_down.log
return 1
else
echo "$SERVICE_NAME服务正在运行" > /tmp/service_up.log
return 0
fi
}
# 检查服务的健康状态
function check_service_health() {
local response=$(curl -s -o /dev/null -w "%{http_code}" "$HEALTH_CHECK_URL")
if [ $response -ne 200 ]; then
echo "$SERVICE_NAME服务HTTP健康检查失败,HTTP状态码为: $response" > /tmp/service_down.log
return 1
else
echo "$SERVICE_NAME服务HTTP健康检查成功" > /tmp/service_up.log
return 0
fi
}
# 重启服务
function restart_service() {
echo "正在重启$SERVICE_NAME服务..."
# 在这里可以添加重启服务的命令,例如:
/your_service_path start
# systemctl restart $SERVICE_NAME
# 或者 java -jar $JAR_PATH
# 替换成你实际使用的命令
}
# 主逻辑
while true; do
# 检查服务状态
check_service_status
if [ $? -eq 0 ]; then
# 如果服务正在运行,则进行健康检查
check_service_health
if [ $? -ne 0 ]; then
# 如果健康检查失败,则重启服务
restart_service
else
echo '服务正常,退出' > /tmp/service_up.log
exit 0
fi
else
# 如果服务未运行,则直接重启服务
restart_service
fi
# 休眠一段时间后再次检查,时长根据服务启动时长来确定
sleep 10 # 10秒
done
更新签名档