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

vi restartTomcat.sh

2、输入内容:

#!/bin/bash
# author: Linnuo
# date: --
# Filename: restartTomcat.sh
# Description: 重启tomcat服务 # 声明环境变量,可重复使用
export LANG=zh_CN.UTF-
export JAVA_HOME=/usr/java/jdk1..0_161
export JRE_HOME=${JAVA_HOME}/jre
export TOMCAT_HOME=/tomcat/apache-tomcat-9.0./ # 输出开始时间
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 - $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 crontabs # Example of job definition:
# .---------------- minute ( - )
# | .------------- hour ( - )
# | | .---------- day of month ( - )
# | | | .------- month ( - ) OR jan,feb,mar,apr ...
# | | | | .---- day of week ( - ) (Sunday= or ) 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分开写即可
service crond restart

Linux 定时重启 Tomcat、重启Keepalived的更多相关文章

  1. linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

  2. 【linux】【tomcat】linux下定时重启tomcat

    步骤: 一.创建脚本文件,本脚本文件用于停止,重启tomcat运行的java进程,并设置脚本文件权限 1.新建脚本文件tomcat.sh [注意文件创建的路径] [查看当前路径的命令:   pwd] ...

  3. linux定时重启tomcat服务的脚本学习

    要求:在linux中定时重启一个tomcat服务 一:shell脚本即Shell Script [1],Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便 ...

  4. 【linux】【tomcat】linux下定时重启tomcat 【CentOS 6.4】【CentOS 7.6】

    本章内容以CentOS 6.4   和   CentOS  7.6  两个版本为例.[6和7的命令不同] 转载 :https://www.cnblogs.com/sxdcgaq8080/p/10730 ...

  5. Linux每天定时重启Tomcat服务

    1:查看crond 服务状态(确认Linux任务计划服务开启) service crond status crond (pid  1937) is running... 2:编写重启Tomcat的sh ...

  6. Linux定时检测内存,若使用率超过指标,重启Tomcat并清空内存

    cd /usr/local vim cleanCacheTime.sh 把以下代码粘贴进去 #!/bin/bash echo "start SyncCleanCache.sh..." ...

  7. linux上监控tomcat down掉后自动重启tomcat

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  8. linux系统下重启tomcat的shell脚本

    linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...

  9. linux下重启tomcat、实时查看tomcat运行日志

    在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看 ...

随机推荐

  1. 鼠标滚轮滚动慢/拖动Office出现滞后问题处理

    一.说明 我对外设一直不是很了解,买的鼠标今天到了,使用时遇到了两个问题在这里记一下. 二.滚轮滚动慢处理 问题描述:在网页中滚动滚轮每次只能上下移动一点点,感觉很难受. 问题原因:此问题是滚轮滚动一 ...

  2. JMeter分布式测试环境搭建(禁用SSL)

    JMeter分布式环境,一台Master,一到多台Slave,Master和Slave可以是同一台机器. 前提条件: 所有机器,包括master和slave的机器: 1.运行相同版本的JMeter 2 ...

  3. DFS or BFS --- 连通块

    Oil Deposits Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 Descrip ...

  4. Java自学-类和对象 类属性

    Java的类属性和对象属性 当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性 当一个属性被声明成类属性,那么所有的对象,都共享一个值 与对象属性对比: 不同对象的 对象属性 的值都可能 ...

  5. docker搭建MediaWiki

    一.简介 MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用 ...

  6. - 集合 遍历 foreach Iterator 并发修改 ConcurrentModificationException MD

    目录 目录 为什么不能在 foreach 循环里进行元素的 remove/add 操作 背景 foreach 循环 问题重现 fail-fast remove/add 做了什么 正确姿势 直接使用普通 ...

  7. SQL Server的唯一键和唯一索引会将空值(NULL)也算作重复值

    我们先在SQL Server数据库中,建立一张Students表: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, ) NULL, [Age] ...

  8. 备忘】HttpContextAccessor类

    AspNetCore / src / Http / Http / src / HttpContextAccessor.cs // Copyright (c) .NET Foundation. All ...

  9. C#事件和委托(C#学习笔记03)

    委托 1. C# 中的委托类似于 C 或 C++ 中指向函数的指针.委托表示引用某个方法的引用类型变量,运行时可以更改引用对象. 2. 特别地,委托可以用于处理事件或回调函数.并且,所有的委托类都是从 ...

  10. Java深入学习(1):多线程

    多线程目的:在同一时刻有多条不同路径执行程序,提高程序运行效率 多线程应用:数据库连接池,多线程文件下载等 注意:在文件下载中使用多线程,无法提高速度 在一个进程中,一定会有主线程 从基础开始,多线程 ...