云平台工程运维实用帖——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
感谢建策学员,现某单位云计算驻场工程师提供本期内容。
对技术帖内容有任何疑问,请联系官方邮箱:jcit@jiancenj.com。
欢迎广大学员踊跃投稿,一经录用,有稿费酬谢。
往期精彩回顾
“理论+实战”双师型专业讲师团队
▼
建策拥有由30余位IT技术专家组成的全职讲师团队,所有讲师均通过多厂商高级工程师认证、讲师授权培训认证,拥有多年工程项目经验。
我们就在这里等你
少年,约么?
以上是关于云平台工程运维实用帖——shell脚本的主要内容,如果未能解决你的问题,请参考以下文章