搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 建策科技 > 云平台工程运维实用帖——shell脚本

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

建策科技 2018-07-01


云平台在使用的过程中经常会遇到云平台下发虚拟机速度缓慢、页面登陆卡顿、服务相关线程僵尸的情况,针对这种情况,写了个定期去重启服务的脚本,针对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脚本》的版权归原作者「建策科技」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注建策科技微信公众号

建策科技微信公众号:jiance_network

建策科技

手机扫描上方二维码即可关注建策科技微信公众号

建策科技最新文章

精品公众号随机推荐

上一篇 >>

性能测试之jmeter

下一篇 >>

第一个Shell脚本