Linux 定时重启 Tomcat、重启Keepalived

1、在 tomcat 目录新建一个.sh 文件:

vi restartTomcat.sh

 

2、输入内容:

#!/bin/bash
# author: Linnuo
# date: 2019-05-31
# Filename: restartTomcat.sh
# Description: 重启tomcat服务

# 声明环境变量,可重复使用 
export LANG=zh_CN.UTF-8
export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export TOMCAT_HOME=/tomcat/apache-tomcat-9.0.17/

# 输出开始时间
echo "[$(date +'%F %T')] >>> Tomcat begin to restart."

# 关闭tomcat服务
${TOMCAT_HOME}/bin/shutdown.sh
 
# 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

# 重启keepalived服务
systemctl restart keepalived

# 查看状态
service keepalived status

JAVA_HOME、TOMCAT_HOMT 根据自己路径输入,保存。

 

3、给.sh 文件赋予执行权限:

chmod +x restartTomcat.sh

 

4、运行:

./restartTomcat.sh

 

5、配置定时任务 crond:

vi /etc/crontab

 

6、最下面添加红色内容:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

25 0 */2 * *  root /root/restartTomcat.sh >> /root/restartLog.txt

# 每两天的 00:25 执行一次 - 用户 - 执行的脚本路径 - 执行信息的输出位置 - 执行信息存放的文件名

保存退出后,系统自动读取加载,间隔到点,会看见 root 目录下多了个存放执行信息的文件 restartLog.txt
至此,Linux 中 Tomcat\Keepalived 定时重启的功能完成.

TIPS:
  1、如果定时任务未生效,重启即可
  2、如果定时任务只执行shutdown、未执行start,将shutdown、start分开写即可

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/155216.html<

(0)
运维的头像运维
上一篇2025-03-15 08:20
下一篇 2025-03-15 08:21

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注