云平台工程运维实用帖——shell脚本

Posted 建策科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云平台工程运维实用帖——shell脚本相关的知识,希望对你有一定的参考价值。


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


以下为脚本内容:


[plain] view plain copy

1.      #!/bin/bash  

2.     # 抓取服务进程和时间  

3.      pid1=`service tomcat6 status | cut -b 46-50`  

4.     echo  tomcat6运行时间  

5.      ps -p  $pid1  -o etime=  

6.     pid2=`service casserver  status | cut -b 34-38`  

7.      echo  casserver运行时间  

8.     ps -p $pid2   -o  etime=  

9.        

10.    

11.  #处理运行时间为判断变量  

12.  time1=`ps -p $pid1 -o etime`  

13.  time2=`ps -p $pid2 -o etime`  

14.  echo  $time1 > time1.txt  

15.  echo  $time2 > time2.txt  

16.  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)  

17.  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)  

18.    

19.    

20.    

21.    

22.  #判断进程是否需要重启  

23.  time10=864000         #设置判断时间节点  

24.  #比较时间节点  

25.  if [  $total1 -lt $time10 ];then  

26.  echo tomcat6服务还未超时,不需要重启  

27.  elif  [  $total1 -gt $time10 ];then  

28.   echo tomcat6服务已经超时,开始重启服务  

29.  service tomcat6 restart  

30.  fi  

31.    

32.    

33.    

34.    

35.  if [  $total2 -lt $time10 ];then  

36.  echo  casserver服务还未超时,不需要重启  

37.  elif  [  $total2 -gt $time10 ];then  

38.   echo tomcat6服务已经超时,开始重启服务  

39.  service casserver restart  

40.  fi  

41.    

42.    

43.  #######################################################################  

44.    

45.    

46.  #var=`service tomcat6 status | cut -b 28-35`  

47.  #if [  $var == 'running' ]  

48.  #then  

49.  #service tomcat6 restart  

50.  #else  

51.  #echo  'tomcat6 is not availble'  

52.  #fi  

53.    

54.    

55.    

56.    

57.  #var1=`service casserver status | cut -b 17-23`  

58.  #if [  $var1 == 'running' ]  

59.  #then  

60.  #service casserver  restart  

61.  #else  

62.  #echo  'casserver is not availble'  

63.  #fi  


云平台工程运维实用帖——shell脚本

感谢建策学员,现某单位云计算驻场工程师提供本期内容。

对技术帖内容有任何疑问,请联系官方邮箱:jcit@jiancenj.com

欢迎广大学员踊跃投稿,一经录用,有稿费酬谢

云平台工程运维实用帖——shell脚本


云平台工程运维实用帖——shell脚本

往期精彩回顾







云平台工程运维实用帖——shell脚本

“理论+实战”双师型专业讲师团队


云平台工程运维实用帖——shell脚本     建策拥有由30余位IT技术专家组成的全职讲师团队,所有讲师均通过多厂商高级工程师认证、讲师授权培训认证,拥有多年工程项目经验。


云平台工程运维实用帖——shell脚本

我们就在这里等你

少年,约么?

以上是关于云平台工程运维实用帖——shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

5个实用的shell脚本面试题和答案

Shell脚本应用

面试linux运维一定会问到Shell脚本这24个问题

运维会用到的17个实用shell脚本

面试Linux运维一定会问到Shell脚本这24个问题

面试linux运维一定会问到Shell脚本这24个问题