Tomcat和Springboot自启动脚本
这里写自定义目录标题
- Tomcat自启动脚本配置
- 通过VIM添加tomcat-monitor.sh脚本
- 给文件赋可执行权限
- 执行脚本文件
- 添加定时任务
- Springboot自启动脚本
- Spring boot的执行脚本
- start.sh脚本
Tomcat自启动脚本配置
通过VIM添加tomcat-monitor.sh脚本
添加下面命令到脚本中
# 获取tomcat进程ID
TomcatID=$(ps -ef |grep tomcat |grep -w 'org.apache.catalina.startup.Bootstrap'|grep -v 'grep'|awk '{print $2}')
# tomcat启动程序(这里注意tomcat实际安装的路径)
StartTomcat=/data/tomcat8/bin/startup.sh
TomcatCache=/data/tomcat8/work
#定义要监控的页面地址
WebUrl=http://192.168.195.10:8080/
#日志输
GetPageInfo=/data/monitor/monitorlogs/TomcatMonitor.Info
TomcatMonitorLog=/data/monitor/monitorlogs/TomcatMonitor.log
Monitor()
{echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在
echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."
# 检测是否启动成功(成功的话页面会返回状态"200")
TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
if [ $TomcatServiceCode -eq 200 ];then
echo "[info]页面返回码为$TomcatServiceCode,tomcat运行正常,测试页面正常......"
echo "" > $GetPageInfo # 清空GetPageInfo
else
echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
echo "[error]页面访问出错,开始重启tomcat"
kill -9 $TomcatID # 杀掉原tomcat进程
sleep 3 #等待3秒
# rm -rf $TomcatCache # 清理tomcat缓存
$StartTomcat
sleep 300 #等待5分钟
fi
else
echo "[error]tomcat进程不存在!tomcat开始自动重启..."
echo "[info]$StartTomcat,请稍候......"
# rm -rf $TomcatCache
$StartTomcat
sleep 300 #等待5分钟
fi
echo "------------------------------"
}
Monitor >>$TomcatMonitorLog
给文件赋可执行权限
chmod +x tomcat-mon![在这里插入图片描述](https://img-blog.csdnimg.cn/20200603150405992.png#pic_center)itor.sh
执行脚本文件
./tomcat-monitor.sh
关闭tomcat,通过运行脚本,tomcat可以启动
添加定时任务
通过命令打开定时任务
crontab -e
添加命令
*/1 * * * * /data/monitor/tomcat-monitor.sh #定义每分钟检查tomcat,如果关闭就重启
运行可能会出现如图异常
解决办法
编辑tomcatsetclasspath.sh文件
vim /data/tomcat8/bin/setclasspath.sh
加入以下命令
export JAVA_HOME=/usr/local/apps/jdk1.8/
export JRE_HOME=/usr/local/apps/jdk1.8/jre
一分钟后查案运行脚本可看到
正常运行情况
Springboot自启动脚本
操作流程和tomcat自启动脚本运行类似。
有两点区别:
Spring boot的执行脚本
```powershell
ProjectName=Security2 #定义要监控的页面地址3 WebUrl=http://192.168.195.10/4 #文件位置5 File="luban.jar"6 SecurityID=$(ps -ef | grep luban.jar | grep -v 'grep' | awk '{ print $2 }')7 # ${ProjectName}启动程序(这里注意项目启动文件实际存放的路径)8 StartSecurity=/data/ssp/ssp-security/start.sh #日志输出9 # StartSecurity=nohup java -Xms1024m -Xmx2048m -jar /data/ssp/ssp-security/luban.jar >> /data/monitor/SecurityMonitorlogs/start.out 2>&1 & #日志输出10 GetPageInfo=/data/monitor/SecurityMonitorlogs/SecurityMonitor.Info11 SecurityMonitorLog=/data/monitor/SecurityMonitorlogs/SecurityMonitor.log12 Monitor()13 {14 echo "[info]开始监控$ProjectName...[$(date +'%F %H:%M:%S')]"15 if [ $SecurityID ];then # 这里判断项目进程是否存在16 echo "[info]当前$ProjectName 进程ID为:$SecurityID,继续检测页面..."17 # 检测是否启动成功(成功的话页面会返回状态"200")18 SecurityServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})19 if [ ${SecurityServiceCode} -eq 200 ];then20 echo "[info]页面返回码为$SecurityServiceCode,$ProjectName 运行正常,测试页面正常......"21 echo "" > $GetPageInfo # 清空GetPageInfo22 else23 echo "[error]$WebUrl 页面出错,请注意......状态码为$SecurityServiceCode,错误日志已输出到$GetPageInfo"24 echo "[error]页面访问出错,开始重启$ProjectName"25 kill -9 ${SecurityID} # 杀掉原${ProjectName}进程26 sleep 3 #等待3秒27 28 $StartSecurity29 sleep 300 #等待5分钟30 fi31 else32 echo "[error]$ProjcetName 进程不存在!开始自动重启..."33 echo "[info]$StartSecurity,请稍候......"34 $StartSecurity35 sleep 300 #等待5分钟36 fi37 echo '------------------------------'38 }39 Monitor >>$SecurityMonitorLog
上面命令中引用了一个start.sh启动项目的脚本
start.sh脚本
source /etc/profile
nohup java -Xms1024m -Xmx2048m -jar /data/ssp/ssp-security/luban.jar >> /data/monitor/SecurityMonitorlogs/start.out 2>&1 &
注:source/etc/profile命令必须添加,否则可能会报异常
nohup: failed to run command ‘java’: No such file or directory
参考连接https://blog.csdn.net/lixld/article/details/88054563
问题交流群,不定期分享各种技术文档:
QQ群号:464512055
群二维码:
这是一个神器的二维码,扫描之后你会少掉一块钱。
Tomcat和Springboot自启动脚本相关推荐
- Tomcat开启APR模式并设置Tomcat为开机自启动服务
一.Tomcat Tomcat Connector(Tomcat连接器)有三种运行模式:bio.nio.apr. 1.BIO模式 阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作 ...
- Tomcat部署SpringBoot项目
Tomcat部署SpringBoot项目 1.SpringBoot项目处理 ①配置pom.xml <!-- 需要排除内嵌的tomcat,才能让其用tomcat部署 --><depen ...
- Oracle 11G for redhat 自启动脚本
Oracle 11G for redhat 自启动脚本 在$ORACLE_HOME/bin中,有dbstart和dbshut这两个脚本,可以使用这两个oracle自带的脚本实现oracle的开机自启动 ...
- Linux shell 自启动脚本写法
# ********************************************************************** # Linux shell 自启动脚本写法 # 说明: ...
- tomcat 多实例启动脚本
为什么80%的码农都做不了架构师?>>> tomcat 多实例启动脚本 代码如下: #!/bin/sh# # Tomcat start/stop shell multiple ...
- 开机自启动脚本_Linux配置开机自启动执行脚本的两种方法
代码来源:oschina 原文作者:醉生梦死zsms 原文链接:https://my.oschina.net/u/3285916/blog/1622358 本文版权归原作者所有,如有侵权请立即与我联系 ...
- systemd的程序自启动脚本编写
以FreeSWITCH的自启动脚本为例. 一. 编写freeswitch.service文件 1 [Unit]2 Description=FreeSWITCH3 After=syslog.target ...
- OpenWrt启动过程分析+添加自启动脚本【转】
一.OpenWrt启动过程分析 转自: http://www.eehello.com/?post=107 总结一下OpenWrt的启动流程:1.CFE->2.linux->3./etc/p ...
- bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...
内容概要 cuda+cudnn+python环境安装 ubuntu18的开机自启动脚本 screen服务开启 以我个人的实践来看,把python开发的算法封装成webserver的服务供前端程序调用是 ...
最新文章
- java setdate_java---Set,Date
- 【DIY】手把手教你 DIY 最便宜的 arduino 温湿度计,详细图文视频教程
- html图片墙 无限滚动,尝试用CSS3实现无限循环的无缝滚动
- [深入学习C#]LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询
- ios(safar/微信)返回不执行js
- 《JAVA与模式》之装修者模式
- 不知道能不能赶上用这技术的那一天
- python selenium canvas_selenium webdriver 实现Canvas画布自动化测试
- 《AutoCAD 2016中文版从入门到精通》——1.5 基本输入操作
- SQL语句优化的30种方法,总结的太棒了
- 人工智能能为旅游业带来多大的想象空间?
- 用什么软件可以编辑pdf文件
- php图片颤抖,如何实现图片抖动效果
- 对游戏编程开发的一点思考
- 「POI2012」约会 Rendezvous
- 【从Java转C#】第八章:委托、lambda、事件
- 爬虫学习笔记 - day02
- 错误解决:hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
- (转)很暧昧的话 最暧昧的话 男女间那些玩火暧昧话
- 狂补呼叫中心相关知识,将收集的资料贴于此
热门文章
- html图片撑开盒子,css背景图撑开盒子高度
- 迅雷php源码,PHP生成迅雷、快车、旋风等软件的下载链接代码实例
- 300字美文摘抄加赏析
- 游戏安全资讯精选 2017年第十六期:房卡式棋牌游戏涉赌博风波,抓娃娃火爆市场背后的安全隐患需警惕,Linux内核的Huge Dirty Cow权限提升漏洞...
- LZX 定义 - 转帖
- GEE:GEE平台怎么提高用户内存限制
- 榆树计算机课,吉林省榆树市弓棚镇武龙中学校七年级信息技术:第九课 Excel表格计算 教案+课件 (2份打包)...
- 9091端口及8998端口
- ZT:【ROOT教程】S7/S7E 8890版root及替换recovery中文教程
- 关于 国产麒麟系统Qt强制退出应用程序qApp->exit()无效 的解决方法