Linux 定时重启 Tomcat、重启Keepalived

博客介绍了在 tomcat 目录新建.sh 文件,需根据自身路径输入 JAVA_HOME、TOMCAT_HOMT 后保存,接着赋予.sh 文件执行权限并运行,最后配置定时任务 crond 并添加相关内容。

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分开写即可
service crond restart

转载于:https://www.cnblogs.com/linnuo/p/10956004.html

Linux系统上重启Keepalived服务的操作相对简单,下面我会详细为你介绍。 ### 一、简介 Keepalived是一种用于实现高可用性的软件,主要用于LVS负载均衡器集群系统的VRRP方案。它能提供类似于路由器的功能,在主服务器发生故障自动切换到备用服务器,并且能够检测网络连接状态等任务。 当需要对配置文件进行修改或更新版本等情况,则需要按照一定步骤去安全地停止正在运行的服务再启动新的实例;而在大多数情况下,我们只需要重新加载配置而不停止其工作即可完成操作——这就是“热重启”。 ### 二、命令行方法 - 热重启 Keepalived (推荐) 为了保证最小化停机间并避免影响现有会话,在生产环境中通常建议使用`reload`指令来进行“热”重启: ```bash sudo systemctl reload keepalived.service # 对于 systemd 的系统 # 或者对于旧版 init 脚本风格的发行版: sudo service keepalived reload ``` 此命令将通知Keepalived重新读取它的配置文件并相应调整自身行为,但不会中断当前正在进行的数据包处理流程。 ### 三、完全重启 Keepalived 如果遇到某些问题导致必须彻底关闭然后再次开启整个进程的话(例如内核模块升级),可以采用如下的全量重启方式: ```bash sudo systemctl restart keepalived.service # 使用 Systemd 控制的服务管理工具 # 若是较老版本 Linux 发行版则可能是这种方式: sudo /etc/init.d/keepalived restart # 直接调用 Init Script 进行重启 ``` 请注意,在执行上述任何一个重启动作之前,请确认已经保存了所有重要的数据并且做好了充分准备,因为这可能会短暂影响依赖于此服务的应用程序正常运作。 --- 此外还需要检查防火墙规则是否允许相关端口通信以及SELinux策略设置得当与否等因素,确保一切恢复正常之后再继续其他维护作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值