Linux如何定时监听Tomcat服务

 更新时间:2026年06月18日 14:19:21   作者:vnjohn  
这段文章详细介绍了在Linux系统系统中使用cronttab实现Tomcat服务自动重启的方法,涵盖crontabab配置、脚本编写及执行权限设置、环境变量配置等Tomcat服务优化等内容,确保服务稳定运行

Linux定时监听Tomcat服务

Linux 下 Tomcat 服务,因为各种原因异常关闭后,实现自动重启服务,保证服务可用。

需要使用到的知识点涉及到 crontab,分为两种:系统级别(/etc/crontab)和用户级别(crontab -e),本文使用的是系统级别的 crontab .

在你的服务器目录上创建一个 .sh 脚本文件,我这边命名为 monitor.sh,该脚本内容如下:

#!/bin/sh 
# 这个是 java 在服务器端所配置的位置 使用 which java 查看即可
JAVA_HOME=/usr/java/jdk1.8.0_171 
JRE_HOME=/usr/java/jdk1.8.0_171/jre
date=`date`
# tomcat-9 是你 tomcat 的目录所取的名称
echo 'operate restart tomcat: /usr/local/tomcat/tomcat-9/bin'
pid=`ps -ef |grep tomcat |grep -w 'tomcat-9'|grep -v 'grep'|awk '{print $2}'`
#pid=`lsof -i:88`
echo 'exist pid:'$pid
#-z表示不存在 
if [ -z "$pid" ] then
   echo "===========startup.sh=============="
   /usr/local/tomcat/tomcat-9/bin/startup.sh
else
   echo "tomcat already start,no need to do"
fi
  • 为其添加可执行的权限:chmod +x /var/sh/monitor.sh
  • 编辑系统级别所在的定时配置文件:vim /etc/crontab
  • 追加内容:*/10 * * * * root /var/sh/monitor.sh #定义十分钟检查tomcat,如果关闭就重启 (注意空格)

定时

关闭服务器上的 Tomcat 服务后,稍等一会系统就会执行所编写的定时脚本

控制台会提示:

You have a change on /var/spool/mail/root

# 查询定时任务是否执行成功的日志
tail -f /var/spool/mail/root

会报如下错误:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

该处错误需要在对应的 Tomcat 中增加自己的 JAVA_HOME 和 JRE_HOME 配置

vim /usr/local/tomcat/tomcat-9/bin/setclasspath.sh

加入配置:

export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre

然后关闭 Tomcat 运用程序,再 tail -f /var/spool/mail/root 查看定时任务日志是否会出现错误,没有就可以正常运行了。

追加:服务器 Tomcat 增加内存大小

打开至 Tomcat 的 bin 目录,编辑 vim catalina.sh ,在 OS specific support. $var must be set to either true or false.

内容后追加下面的内容即可,内存大小可根据自己的服务器来更改。

JAVA_OPTS="-Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m -Xss2m"CATALINA_OPTS="-Djava.awt.headless=true"

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS7上以rpm方式安装JDK8

    CentOS7上以rpm方式安装JDK8

    这篇文章主要介绍了CentOS7上以rpm方式安装JDK8,需要的朋友可以参考下
    2020-02-02
  • CentOS 7实现自动备份数据到百度网盘的具体步骤与方法

    CentOS 7实现自动备份数据到百度网盘的具体步骤与方法

    随着数据量的不断增加,备份数据以防止意外丢失变得尤为重要,百度网盘因其大容量和便捷的访问方式,成为许多人的选择,本文将详细介绍如何在 CentOS 7 系统上,利用百度网盘的工具实现数据的自动备份,需要的朋友可以参考下
    2026-03-03
  • Ubuntu下Kdevelop的简单使用与调试过程

    Ubuntu下Kdevelop的简单使用与调试过程

    KDevelop是一个强大的C++ IDE,以下是使用KDevelop进行C++编程的基本步骤,包括新建工程、编译、执行和调试,希望这些信息对你有所帮助
    2026-01-01
  • Linux获取磁盘的UUID和序列号WWID的方法

    Linux获取磁盘的UUID和序列号WWID的方法

    本文介绍了在Linux系统中,由于磁盘标识符(sd*)可能会在重启后发生变化,特别是在Oracle RAC环境下需要稳定性,文章详细阐述了WWID和UUID的概念,它们都是用于独特标识磁盘的标识符,需要的朋友可以参考下
    2026-04-04
  • apache禁止搜索引擎收录、网络爬虫采集的配置方法

    apache禁止搜索引擎收录、网络爬虫采集的配置方法

    这篇文章主要介绍了apache禁止搜索引擎收录、网络爬虫采集的配置方法,注意一定要写到Location节点,否则不起作用,可以精确匹配,也可以IP匹配,需要的朋友可以参考下
    2014-06-06
  • 浅谈RHEL7和RHEL6的主要变化

    浅谈RHEL7和RHEL6的主要变化

    下面小编就为大家带来一篇浅谈RHEL7和RHEL6的主要变化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux 入侵常用命令汇编

    linux 入侵常用命令汇编

    掌握这些命令也有助于配置linux的安全,大家可以看看。
    2009-07-07
  • Apache Ranger简介及部署示例

    Apache Ranger简介及部署示例

    Apache Ranger 是一个集中式安全管理框架,专为 Hadoop 生态系统设计,它提供统一的策略管理、细粒度访问控制和实时审计功能,支持主流大数据组件如 HDFS、Hive、HBase、Kafka 等,本文给大家介绍Apache Ranger简介及部署示例,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • Apache安装后出现服务无法启动(服务里启动出现错误代码1)

    Apache安装后出现服务无法启动(服务里启动出现错误代码1)

    很多朋友都遇到过这样的问题Apache安装后,显示安装成功,但是出现服务无法启动服务里启动出现错误代码1,怎么解决这个问题呢,下面小编通过本文给大家详细介绍下,需要的朋友参考下吧
    2021-08-08
  • 一文详解Linux如何设置特殊权限

    一文详解Linux如何设置特殊权限

    setuid,setgid和sticky是 Linux 中的特殊权限,可以对文件和目录的访问和执行方式提供额外的控制,下面就跟随小编一起来了解一下它们的具体使用吧
    2024-12-12

最新评论