linux下面tomcat挂掉后重新启动的shell脚本
#!/bin/bash echo "Start" URL="http://127.0.0.1/###/" curlit() { #echo "??" curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200' # 上面的15是连接超时时间,若访问localhost的HTTP服务超过15
·
- #!/bin/bash
- echo "Start"
- URL="http://127.0.0.1/###/"
- curlit()
- {
- #echo "??"
- curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'
- # 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。
- }
- doit()
- {
- if ! curlit; then
- # 如果localhost的apache服务没有正常返回200头,即出现异常。执行下述命令:
- # echo "TD"
- sleep 20
- #top -n 1 -b >> /var/log/log.log
- kill `ps -ef|grep java|grep -v grep |awk '{print $2}'` > /dev/null 2>&1
- # 这条语句中ps -ef|grep java|grep -v grep为查询进程中java进程同时排除本身语句,用awk找到第二列信息,返回状态扔到黑洞中。
- sleep 2
- cd /tomcat-6.0.29/bin/
- /bin/sh startup.sh
- #echo "EN"
- echo $(date) “Tomcat Restart” >> /var/log/log.log
- # 写入日志
- sleep 60
- # 重启完成后等待,然后再次尝试一次
- if ! curlit; then
- # 如果仍然无法访问,则:
- echo "@"
- echo $(date) “Failed!” >> /var/log/log.log
- # 写入apache依然重启失效的日志
- fi
- sleep 180
- fi
- }
- sleep 3
- # 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)
- # 主循环体
- doit
-
-
使用vim、nano、vi等任意文本编辑工具,都可以编写shell脚本。使用“nano test.sh”在当前目录下,创建一个测试shell脚本。shell脚本的后缀习惯性写成“.sh”。
-
shell脚本的开始需要声明此脚本使用什么程序解析执行,首行为“#!/bin/sh ”,标明使用bash解析器解析当前shell脚本。
-
完成所有语言都有的入门级显示效果,使用shell脚本打印hello world,第二行为“echo ‘Hello World!’”。
-
由于新建的shell脚本没有执行权限,首先使用“chmod 755 test.sh”对shell脚本添加执行权限。
-
使用“./test.sh”命令执行新建的shell脚本。
-
看看自己编写第一个shell脚本执行的结果吧。
-
-
更多推荐
已为社区贡献1条内容
所有评论(0)