shell脚本------CVM定期重启tomcat6和casserver的时间判断脚本

  经常会遇到云平台下发虚拟机速度缓慢、页面登陆卡顿、服务相关线程僵尸的情况,针对这种情况,写了个定期去重启服务的脚本,让平台更优质的去提供服务。

以下为脚本内容,欢迎批评交流。

#!/bin/bash
# 抓取服务进程和时间
pid1=`service tomcat6 status | cut -b 46-50`
echo  tomcat6运行时间
ps -p  $pid1  -o etime=
pid2=`service casserver  status | cut -b 34-38`
echo  casserver运行时间
ps -p $pid2   -o  etime=


#处理运行时间为判断变量
time1=`ps -p $pid1 -o etime`
time2=`ps -p $pid2 -o etime`
echo  $time1 > time1.txt
echo  $time2 > time2.txt
total1=$( awk  'NR==0{print;next}{n=split($NF,a,"-|:");if(n==2)$NF=a[1]*60+a[2];if(n==3)$NF=a[1]*3600+a[2]*60+a[3];if(n==4)$NF=a[1]*86400+a[2]*3600+a[3]*60+a[4]}1' time1.txt | cut -b 9-15)
total2=$( awk  'NR==0{print;next}{n=split($NF,a,"-|:");if(n==2)$NF=a[1]*60+a[2];if(n==3)$NF=a[1]*3600+a[2]*60+a[3];if(n==4)$NF=a[1]*86400+a[2]*3600+a[3]*60+a[4]}1' time2.txt | cut -b 9-15)




#判断进程是否需要重启
time10=864000         #设置判断时间节点
#比较时间节点
if [  $total1 -lt $time10 ];then
echo tomcat6服务还未超时,不需要重启
elif  [  $total1 -gt $time10 ];then
 echo tomcat6服务已经超时,开始重启服务
service tomcat6 restart
fi




if [  $total2 -lt $time10 ];then
echo  casserver服务还未超时,不需要重启
elif  [  $total2 -gt $time10 ];then
 echo tomcat6服务已经超时,开始重启服务
service casserver restart
fi


#######################################################################


#var=`service tomcat6 status | cut -b 28-35`
#if [  $var == 'running' ]
#then
#service tomcat6 restart
#else
#echo  'tomcat6 is not availble'
#fi




#var1=`service casserver status | cut -b 17-23`
#if [  $var1 == 'running' ]
#then
#service casserver  restart
#else
#echo  'casserver is not availble'
#fi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值