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

本回答被提问者采纳
参考技术B pgrep tomcat

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.测试效果

如果重启服务后以下错误
接下来在tomcat/bin中的catalina.sh中添加以下两句代码(看清楚位置)
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是不是关闭并自动启动?的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows下使用linux的shell脚本

如何在Windows下运行linux shell脚本

用LINUX的shell脚本来监测服务器 查看服务器是否存活

如何在windows下使用linux的shell脚本

linux下监测进程是否存在

自学Linux Shell4.2-监测磁盘空间mount umount df du