使用shell脚本实现对confluence服务健康状况的监控,并在服务挂掉时,及时重新启动服务

#!/bin/bash
#create by kjl
#2019-11-22#参数
ip=172.20.**.**
port=9090
logfile=/home/work/confluence/data/wiki_check.log
confluence_log=/home/work/confluence/atlassian-confluence-5.6.5/logs
sleep_time=60#钉钉
phone=138*********
url=https://oapi.dingtalk.com/robot/send?access_token=*******************
message()
{
curl -H "Content-type: application/json" -X POST -d '{"msgtype": "text","text": {"content": "'$1'"}, "at": {"atMobiles": ["'$phone'"], "isAtAll": false}}' $url
}#返回状态码检查
returnnode_check(){#检查间隔per_time=10#状态码正常的次数right_times=0for (( i=1; i <= 3; i++ ))doif [[ `curl -I -m 10 -o /dev/null -s -w %{http_code} $ip:$port` -lt 400 ]];then #如果切换到work用户执行,服务内部有错,拿到的状态吗是500000let right_times++fisleep $per_timedone
}#进程端口检查,heal_num为1表示进程或端口出问题,为0表示均正常
pp_check(){nc -z $ip $port#判断端口和进程健康状况if [[ $? -ne 0 || `ps -ef | grep confluence | wc -l` -eq 1 ]];then   heal_num=1elseheal_num=0fi
}#死循环
while [[ true ]];dosleep $sleep_timenow_date=$(date "+%Y-%m-%d")now_time=$(date "+%Y-%m-%d %H:%M:%S")#首次检查returnnode_checkpp_checkif [[ $right_times -lt 3 || $heal_num -eq 1 ]];then#触发重启#钉钉通知服务异常#message "ding~服务异常,正在尝试重启..."echo $now_time"**********服务异常,尝试重启...*************" >>$logfilepid=`ps aux |grep 'confluence' |grep -v grep |grep -v 'wiki_check' | awk '{print $2}'`if [[ -n ${pid} ]]; thenkill -9 ${pid}ficp -a $confluence_log/catalina.out $confluence_log/catalina.$now_date.log && echo '' > $confluence_log/catalina.out/home/work/confluence/atlassian-confluence-5.6.5/bin/start-confluence.sh"#日志中可以捕捉到“INFO: Server startup in”信息,但是状态吗不对elseecho $now_time"**********服务健康状况正常*************">>$logfilecontinuefii=0while [[ $i -lt 60 ]]; do   grep 'INFO: Server startup in' $confluence_log/catalina.outif [[ $? -eq 0 ]];thenbreakfilet i++sleep 10done#再次复核returnnode_checkpp_checkif [[ $right_times -lt 3 || $heal_num -eq 1 ]];then#重启后服务仍未恢复#钉钉通知人工处理message "ding~wiki服务重启失败,请尽快排查问题"echo $now_time"**********服务重启失败*************">>$logfileelseecho $now_time"**********服务重启成功*************">>$logfilefi
done

confluence服务守护脚本相关推荐

  1. windows服务守护进程bat脚本、windows窗体守护进程bat脚本

    线上运行的windows服务和窗体服务程序经常挂掉,只能从windows日志中找到报了底层错误,问题无法定位,目前的办法是在服务器上运行守护进程 window服务守护进程 @echo off titl ...

  2. 后台服务守护进程神器pm2介绍及使用

    前言 linux的后台服务程序需要在后台一直运行.如果通过ssh访问临时启动的,会话一结束就直接关闭了服务.想让服务在后台一直运行且永远不挂掉,推荐后台服务守护进程神器pm2,强大且适用于各种语言的后 ...

  3. 怎样在javascript函数中将变量传递给服务端脚本程序?

    怎样在javascript函数中将变量传递给服务端脚本程序? (有朋友问上述问题, 愿把结论分享给大家). 摘 要:   服务器端脚本运行时, 它只会解释执行<% %>或<?php ...

  4. php-fpm 没有启动脚本,php-fpm服务启动脚本

    在php-fpm还是打补丁的时候,php-fpm重启只需要执行php-fpm restart或者reload, 自从php5.3之后,php-fpm的启动和停止显得比较麻烦,特意改写了一份nginx的 ...

  5. 启动和停止Oracle服务bat脚本

    总所周知,Oracle随开机启动会占很大内存,而你每次想用的时候还得去计算机服务里去找服务.一个一个的启动,比较麻烦. 这里给出两个bat脚本,来直接双击启动和停止Oracle服务[脚本内容来源于网络 ...

  6. vsftpd的不同安装方式及服务控制脚本

    包括vsftpd的yum安装.源码安装.服务启动.停止,以及最终的服务控制脚本   vsftpd启动: 启动脚本:/etc/rc.d/init.d/vsftpd 或者直接执行可执行文件/usr/sbi ...

  7. Linux的/etc/init.d:用service命令可执行init.d目录中相应服务的脚本

    1./etc/init.d目录中存放的是一系列系统服务的管理(启动与停止)脚本. 2.用service命令可执行init.d目录中相应服务的脚本,如执行命令"service resin st ...

  8. linux80端口检查,Linux下基于端口的服务检查脚本

    Linux下基于端口的服务检查脚本 #!/bin/bash #program:Usingtostudythe[if...then...fi]program #dsk2007/10/83:00 #con ...

  9. linux下tomcat脚本,Linux下重启多个 tomcat 服务的脚本(推荐)

    由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启. # 1.查找tomcat的进程ID ps -e ...

最新文章

  1. Springboot+Mybatis+Durid
  2. MySQL数据类型以及元数据的使用
  3. 关于Spring的69个面试问答——终极列表
  4. 柴油发电机组自动控制系统工作原理
  5. python统计单词频率、存放在字典中_Python3实现统计单词表中每个字母出现频率的方法示例...
  6. WPF实现一个彩虹按钮
  7. 869. 重新排序得到 2 的幂
  8. s5pv210——串口通信的基础概念
  9. mov 和 lea 的区别有哪些?
  10. axios post请求
  11. JAVA 创建学生类
  12. 再也不用担心动态规划,BAT大佬精讲42道题目,相见恨晚
  13. android11系统原生铃声,原生系统的凤毛麟角 索尼Xperia 1 II推送Android 11体验
  14. 解读Android日志
  15. tplink怎么进去_用手机或电脑进入TP-Link路由器设置界面的方法 怎么进入TP-Link路由器设置界面?...
  16. 分布式监控工具zabbix 配置安装
  17. mogrt格式动态字幕模板安装和使用
  18. 如何在CTEX上对论文进行排版
  19. 2013.12.26 泡面吧--判断一个数是否为质数
  20. 常用独立自建站工具大盘点,哪个性价比更高?

热门文章

  1. 采用html 的a标签,href连接为文件时无法下载解决方案
  2. javascript 获取具体id
  3. 光谷 计算机专业 好的学校,距离光谷最近的十所高校,你的学校上榜了没?
  4. 淘宝要社交:改变买家购买方式 取消商品排名(转载)
  5. catalog start with
  6. 单片机备用电池供电电路_可用电池供电的单片机电源电路
  7. 【UV打印机】理光喷头组合说明(5H)
  8. x264阅读记录-1
  9. 14. Thymeleaf
  10. 智慧(灯杆)路灯建设有可能会掀起城市革命,从而点亮新型智慧城市