当前位置: 首页 > news >正文

Shell 服务健康检查脚本

#!/bin/bash 2 3# 配置 4SERVICE_NAME="MyApp" 5URL="http://localhost:8080/health" 6MAX_RETRIES=2 7TIMEOUT=5 8LOG_FILE="/var/log/${SERVICE_NAME}_health.log" 9 10# 日志函数 11log() { 12 echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE" 13} 14 15# 健康检查函数 16check_service() { 17 if command -v curl >/dev/null; then 18 curl -sf --max-time "$TIMEOUT" "$URL" > /dev/null 2>&1 19 return $? 20 elif command -v wget >/dev/null; then 21 wget --quiet --timeout="$TIMEOUT" --spider "$URL" > /dev/null 2>&1 22 return $? 23 else 24 log "ERROR: Neither curl nor wget available!" 25 return 1 26 fi 27} 28 29# 主逻辑:带重试 30for ((i=0; i<=MAX_RETRIES; i++)); do 31 if check_service; then 32 log "SUCCESS: $SERVICE_NAME is healthy" 33 exit 0 34 else 35 if [ $i -lt $MAX_RETRIES ]; then 36 log "WARNING: $SERVICE_NAME check failed, retrying in 2s... (attempt $((i+1)))" 37 sleep 2 38 fi 39 fi 40done 41 42# 最终失败 43log "CRITICAL: $SERVICE_NAME is DOWN after $((MAX_RETRIES+1)) attempts" 44exit 1
http://www.cnnetsun.cn/news/91219.html

相关文章:

  • 企微 SCRM 服务天花板:微伴四级支持,AI 陪跑至盈利
  • PyTorch训练损失异常?LobeChat给出诊断建议
  • 医药类电商系统开发公司有哪些?
  • 为什么90%的企业还没意识到Dify解密算法对文档安全的颠覆性威胁?
  • 为什么你的Vercel AI SDK在Docker中无法读取环境变量?深度剖析加载机制盲区
  • Dify权限验证系统解析:3步完成PDF加密与访问控制
  • 找不到符号
  • 300套伺服电机步进调速电机SolidWorks三维3D模型图结构库合集
  • 模温机企业排名:2025
  • Qwen3-VL-8B:轻量级多模态Embedding新选择
  • 本地部署EmotiVoice多音色情感TTS
  • LobeChat能否实现代码注释生成?文档完整性保障工具
  • 12.16 脚本网页 Golang标准库
  • 【LInux】进程程序替换与shell实现:从fork到exec的完整闭环
  • Github 9.6k Star!一款开源的超强大数据可视化神器!
  • 空间转录组+R语言=发刊利器?5个高分论文常用富集策略首次系统披露
  • 逆变器DC-AC拓扑全解析:从基础到专用,实战选型指南
  • 一文讲清楚Spring Bean的生命周期(附详细流程图)
  • 【Dify与Spring AI兼容性深度解析】:掌握版本匹配的5大核心原则
  • LobeChat能否支持引力波探测?宇宙事件捕捉与信号解读
  • 基于Next.js的LobeChat为何成为开发者新宠?
  • LobeChat压力测试报告:每秒可承受多少并发请求?
  • LobeChat能否对接IFTTT?事件驱动型AI助手构建
  • 10 个降AI率工具,研究生高效避坑指南
  • 从0到1构建智能检索系统,Dify结果融合实战全指南
  • 【混合检索优化实战】:Dify响应时间降低50%的三大核心技术揭秘
  • 版本失控怎么办?Dify工作流回滚全攻略,保障系统稳定性
  • 多路径流程设计难题,Dify工作流跳转配置一招搞定
  • 【Dify工作流依赖检查全攻略】:掌握高效排查技巧,避免上线事故
  • 思科网络发现协议CDP基础