shell 重启tomcat 脚本

本文介绍了一个用于重启Tomcat服务器的Shell脚本。该脚本首先尝试使用Tomcat自带的关闭命令来停止服务,若失败则通过强制杀死进程的方式来确保服务完全关闭,并清理日志及临时文件夹。最后重新启动Tomcat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#! /bin/bash
tomcat_home=/usr/local/tomcat6
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
echo "关闭$tomcat_home"
$SHUTDOWN
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9

#删除日志文件,如果你不先删除可以不要下面一行
rm  $tomcat_home/logs/* -rf
#删除tomcat的临时目录
rm  $tomcat_home/work/* -rf

sleep 5
echo "启动$tomcat_home"
$STARTTOMCAT
#看启动日志
#tail -f $tomcat_home/logs/catalina.out

注:先使用tomcat本身的shutdown命令关闭,再用杀进程的方式补偿,做到真正关闭tomcat

注2:awk ‘{print $2}’的含义是取前面查询结果的第二个分段
这里写图片描述

<think>好的,我需要帮助用户找到在Linux系统中重启Tomcat脚本。首先,用户明确提到了他们想查找相关的脚本,所以我应该结合之前的引用内容来提供解决方案。根据引用1,用户之前提到过重启Tomcatshell脚本,其中包含查找进程ID并kill掉的步骤。这可能涉及到使用`ps-ef|greptomcat`来找到进程,然后用`kill`命令终止。然后需要再次启动Tomcat,这可能通过执行`startup.sh`脚本完成。引用2和引用4也提到了启动和关闭Tomcat的命令,分别是`startup.sh`和`shutdown.sh`。接下来,我需要确保脚本的正确性。通常,重启Tomcat的正确步骤是先执行`shutdown.sh`,等待进程结束,如果它没有正常关闭,再强制杀死进程,然后再执行`startup.sh`。引用3提到配置tomcat.service文件,可能涉及到systemd服务的管理,但用户现在需要的是脚本,所以可能不需要涉及systemd部分。另外,引用1中的脚本示例可能存在直接kill进程的问题,这可能导致数据不一致,因为正确的做法应该是先尝试正常关闭。所以,我需要优化脚本,先执行shutdown,等待一段时间,再检查进程是否存在,如果存在再kill。这样可以更安全地重启。还需要考虑环境变量,比如设置`JAVA_HOME`或`CATALINA_HOME`,确保脚本在正确的路径下执行。用户可能将Tomcat安装在`/opt/apache-tomcat-`目录下,如引用1所示,所以脚本中需要指定正确的路径。最后,用户可能需要定时执行这个脚本,如引用1提到的定时任务,可以建议使用crontab来设置定时重启。不过用户当前的问题只是重启脚本,所以可能在相关问题中提到定时任务的方法。综上,我需要提供一个包含正常关闭、强制终止(如果需要)、启动的shell脚本,并确保路径正确。同时,解释脚本的步骤,确保用户理解每个部分的作用。可能还需要提醒用户根据实际安装路径修改脚本中的`tomcat_home`变量。</think>在Linux系统中重启Tomcat脚本需要包含以下关键步骤: ### 1. 基础重启脚本 ```bash #!/bin/bash tomcat_home=/opt/tomcat # 根据实际安装路径修改 $tomcat_home/bin/shutdown.sh # 尝试正常关闭 sleep 10 # 等待进程终止 if ps -ef | grep -v grep | grep $tomcat_home; then kill -9 $(ps -ef | grep $tomcat_home | awk '{print $2}') # 强制终止残留进程 fi $tomcat_home/bin/startup.sh # 重新启动 ``` ### 2. 脚本说明 - `shutdown.sh`优先执行正常关闭流程,避免数据丢失[^1] - `sleep 10`为Tomcat预留清理时间(可根据需要调整) - `ps -ef | grep -v grep`过滤掉grep自身进程 - `kill -9`仅用于处理未正常关闭的残留进程[^3] ### 3. 增强版(添加环境变量) ```bash #!/bin/bash export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 必须与Tomcat匹配 export CATALINA_PID=$tomcat_home/temp/tomcat.pid $tomcat_home/bin/shutdown.sh -force # 部分版本支持强制关闭参数 ``` ### 4. 定时任务配置 通过`crontab -e`添加(每天凌晨重启示例): ```bash 0 3 * * * /path/to/restart_script.sh >> /var/log/tomcat_restart.log 2>&1 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值