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. samba服务器安装测试

    samba服务器安装 1.简介 作用:samba文件服务器允许通过网络跨步同的操作系统进行文件共享. 2.安装samba服务器 $ sudo apt-get update $ sudo apt-get ...

  2. [原创]K8tools 20191111/K8工具合集

    K8tools 20191111 声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 下载: https://github.com/k8gege/K8tools PS: 不定期更新,文件比较大,可 ...

  3. python实现双向循环链表

    参考https://www.cnblogs.com/symkmk123/p/9693872.html#4080149 # -*- coding:utf-8 -*- # __author__ :kusy ...

  4. [转帖]自动交互式脚本--expect

    自动交互式脚本--expect https://www.cnblogs.com/zhuiluoyu/p/4873869.html 我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器 ...

  5. Spring Boot 主从读写分离

    自己封装了一个读写分离的 Starter,可以配置任意多个数据源,使用 Hikari 连接池(暂不支持其他连接池). GitHub:rw-separate-spring-boot-starter 代码 ...

  6. Linux学习笔记之Btrfs 文件系统

    0x00 btrfs文件系统简介 btrfs文件系统:技术预览版(Centos7)Btrfs(B-tree.Butter FS.Better FS),GPL授权,Orale2007提出是想用来取代Ex ...

  7. java基础 接口私有方法

    /** * 问题描述: * 我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题 * 但是这个共有方法不应该让实现类使用,应该是私有化的. * * 解决方案: * 从java 9开始,接口 ...

  8. MVC拦截

    1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using Syst ...

  9. Docker 多终端登录

    版权声明:starRTC免费im直播会议一对一视频,by elesos.com & starRTC.com https://blog.csdn.net/elesos/article/detai ...

  10. Java打印日历表

    今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...