目录
场景:比如有两台服务器,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是否自动启动了?