目录

场景:比如有两台服务器,A服务器是应用服务器(TOMCAT), B服务器是数据库服务器,机房断电或者特殊调整需要重启硬件服务器,若是A服务器在设备重新启动后,立马启动TOMCAT,可能数据库服务器还没起来或者数据库服务还没启动,导致TOMCAT下的应用有依赖数据库服务的,就不能正常运行。

缺陷:以下是延迟180秒(3分钟)启动,假如数据库服务器在3分钟后还没启动,那么同样的A服务器的TOMCAT启动,依赖数据库的服务依旧有问题。

1、准备延迟执行脚本

2、将延迟启动脚本加入启动项

3、测试延迟启动脚本


场景:比如有两台服务器,A服务器是应用服务器(TOMCAT), B服务器是数据库服务器,机房断电或者特殊调整需要重启硬件服务器,若是A服务器在设备重新启动后,立马启动TOMCAT,可能数据库服务器还没起来或者数据库服务还没启动,导致TOMCAT下的应用有依赖数据库服务的,就不能正常运行。

缺陷:以下是延迟180秒(3分钟)启动,假如数据库服务器在3分钟后还没启动,那么同样的A服务器的TOMCAT启动,依赖数据库的服务依旧有问题。

1、准备延迟执行脚本

 用户登录主机后,首先新增SHELL脚本,在目录/opt/tomcat/delayStartTomcat.sh,delayStartTomcat.sh脚本如下所示:

#!/bin/bash
# after this linux system start, this shell will execute for start tomcat

#echo "invoke delayStartTomcat.sh"
#echo "tomcat running after 3 minutes "

sleep 180
export JAVA_HOME=/usr/java/jdk1.8.0_211
export JRE_HOME=/usr/java/jdk1.8.0_211
/opt/tomcat/apache-tomcat-8.5.51/bin/startup.sh start

同时赋予执行权限chmod +x delayStartTomcat.sh

2、将延迟启动脚本加入启动项

编辑vi /etc/rc.d/rc.local 在文件最后增加代码,如下所示:

export JAVA_HOME=/usr/java/jdk1.8.0_211
nohup /opt/tomcat/delayStartTomcat.sh &

同时赋予执行权限 chmod +x /etc/rc.d/rc.local

3、测试延迟启动脚本

在不影响业务系统客户正常使用的事情下,执行reboot命令后,等待几秒进入系统,执行uptime操作,看是否延迟3分钟,然后看看你的TOMCAT是否自动启动了?