linux环境下如何通过shell脚本监测tomcat是不是关闭并自动启动?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux环境下如何通过shell脚本监测tomcat是不是关闭并自动启动?相关的知识,希望对你有一定的参考价值。
这是我tomcat的启动路径:/tomee/instance1/bin/startup.sh,然后我在shell脚本里获得tomcatID的方法是TomcatID=$(ps -ef |grep tomcat |grep -w 'dw\/tomee/instances1\/conf'|grep -v 'grep'|awk 'print $2') 这么写打印出来是空,请问大神这里应该怎么写才能获得tomcat的进程id?在线等。。。
参考技术A 试试ps aux|grep tomcat | grep -v grep | grep -v PID | awk 'print $2'追问
还是空
是不是你确实没有tomcat这个进程?
我在本地试了下是有的。
#pid2=`ps aux|grep tomcat | grep -v grep | grep -v PID | awk 'print $2'`
#echo $pid2
24033 25613
或
pidof tomcat
Linux如何编写自启动shell脚本
1.需求分析
在很多情况下,程序员都做着重复枯燥的工作,虽然这些工作也是必须的,其实这些重复性的工作可以执行脚本替代;今天笔者就如何编写自启动shell脚本减少程序员开启服务器后的环境开启工作;
2.配置环境
linux版本:centos-6.3
jdk:1.8
omcat: 7.0
3.实现方案
①抒写脚本
#!/bin/sh #chkconfig: 2345 80 90 #description:hello.sh echo "=============close firewall==================" service iptables stop echo "==============start redis server============" redis-server /usr/local/redis/redis-4.0.1/redis.conf cd /usr/local/tomcat/apache-tomcat-9.0.0.M22/bin echo "=================start tomcat================" ./startup.sh
命名为hello.sh
前面三行是固定样式,后续的都是脚本实现需求
②赋予hello.sh可执行权限
chmod +x ./hello.sh
③将hello.sh移动到 /etc/profile.d
mv hello.sh /etc/profile.d
④添加自启动项hello.sh(执行添加自启动前提:该脚本必须置于/etc/init.d下)
chkconfig --add hello.sh
⑤默认开启自启动项hello.sh
chkconfig hello.sh on
⑥如果在第④步报错,则进入hello.sh目录并编辑
依次执行
:set ff
查看文件格式,这里可能会是doc
所以还需执行
:set ff=unix
⑦重启服务器,脚本就自动执行了
4.测试效果
export JAVA_HOME=/usr/local/java/jdk1.8.0_60 export JRE_HOME=/usr/local/java/jdk1.8.0_60/jre
具体位置如下
然后reboot重启服务就好
访问tomcat
访问redis
好了,自启动shell脚本就配置成功了,是不是免去了许多重复的工作啊!
以上是关于linux环境下如何通过shell脚本监测tomcat是不是关闭并自动启动?的主要内容,如果未能解决你的问题,请参考以下文章