1.新建restart.sh脚本,内容如下(修改红色部分即可)
#author: xiabin
#date: 2020-12-18
#Filename: restartTomcat.sh
#Description: 重启tomcat服务
#声明环境变量,可重复使用
export LANG=zh_CN.UTF-8
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64(自己修改jdk路径)
export JRE_HOME=${JAVA_HOME}/jre
export TOMCAT_HOME=/trs/apache-tomcat-7.0.107(自己修改tomcat路径)
#输出开始时间
echo "[$(date +'%F %T')] >>> Tomcat begin to restart." #关闭tomcat服务
# Kill all remaining processes 杀掉所有残留进程,不杀掉会占用系统资源
pidList=$(ps aux | grep ${TOMCAT_HOME} | grep -v grep | awk '{print $2}')
if [ "${pidList}" != "" ]
then
echo "残留的进程号:${pidList}";
for pid in $pidList; do
kill -9 $pid
echo "[$(date +'%F %T')] >>> Kill the process [$pid] successfully."
done
else
echo "无 残留的进程号";
fi
#启动tomcat服务
${TOMCAT_HOME}/bin/startup.sh
#获取重新启动后的tomcat服务的进程号
pidList2=$(ps aux | grep ${TOMCAT_HOME} | grep -v grep | awk '{print $2}')
if [ "${pidList2}" != "" ]
then
echo "启动后的进程号:${pidList2}";
echo "[$(date +'%F %T')] >>> Tomcat restart complete."
echo -e "本次tomcat成功重启 \n\n"
else
echo "本次tomcat服务启动出错,请查看/logs/catalina.out日志文件"
fi
2.配置linux定时任务crond(cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业)
执行指令:vi /etc/crontab
最下边一行,添加自己的定时任务
*/1 * * * * root /root/restartTomcat.sh >> /root/restartLog.txt