linux定时重启tomcat
1.编辑重启Tomcat命令
首先编辑一个文件
vi my_restart.sh
然后输入:
#!/bin/bash
. /etc/profile
tomcatPath="/opt/finereport/tomcat"
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 2
echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
$binPath"/startup.sh"
sleep 10
curl http://localhost:8888/
else
echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
$binPath"/startup.sh"
sleep 10
curl http://localhost:8888/
fi
1.上面是重启启动脚本,查询pid,直接kill掉,等待7秒 后重新启动
ps:
1.第二行中 . /etc/profile 等于 source /etc/profile
2.倒数第2行中,$binPath"/startup.sh" 启动,不用 ./$binPath"/startup.sh" 会报错。
3.发现shell这里需要执行的代码一定要在fi 前边,到fi 之后的可能就不运行了,
注意shell中的if else fi 和 python/java中的 if else 不一样
2.设置定时
crontab -l 查看定时任务,
crontab -e 编辑定时任务
添加下面内容到里面,这样天凌晨1点就会执行
每天凌晨3点运行
00 03 * * * /root/my_restart.sh > /root/restart-tomcat.txt
相关文章:
linux定时重启tomcat
1.编辑重启Tomcat命令 首先编辑一个文件 vi my_restart.sh 然后输入: #!/bin/bash . /etc/profile tomcatPath"/opt/finereport/tomcat" binPath"$tomcatPath/bin" echo "[info][$(date %F %H:%M:%S)]正在监控tomcat,路径&a…...
在静态方法中访问@Value注入的静态变量!!
一、 静态变量 static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的 简单来说:在某些类的对象中存在一些相同的成员变量,那么这种成员变量就可以设置…...
掌握这些算法,让你的编程之路更顺畅——重要算法解析
一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。这些算法通常被广泛应用于日常编程工作中,是提升编程效率和解决实际问题的重要工具。本文将介绍几种十分重要的“必抓…...
flink集群与资源@k8s源码分析-总述
1 简介 集群和资源模块提供动态资源能力,是分布式系统关键基础设施,分布式datax,分布式索引,事件引擎都需要集群和资源的弹性资源能力,提高伸缩性和作业处理能力。本文分析flink的集群和资源的k8s模块,深入了解其设计原理,为开发自有的集群和资源组件做技术准备, 同时涉…...
LeetCode 0213. 打家劫舍 II:动动态规划
【LetMeFly】213.打家劫舍 II:动动态规划 力扣题目链接:https://leetcode.cn/problems/house-robber-ii/ 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味…...
VMware17 不可恢复错误mks解决方案
用的虚拟机VMware17版本,然后运行带HDR的unity程序,结果报错 网上找了很多解决方案,都没用。毕竟需要在不放弃虚拟机3D加速的情况下运行。 最终皇天不负有心人,亲测有效的方法: 在虚拟机名字.vmx文件里添加以下2行&a…...
【深度学习】 Python 和 NumPy 系列教程(廿五):Matplotlib详解:3、多子图和布局:subplot()函数
目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 3、多子图和布局 1. subplot()函数 简单示例 一、前言 Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能…...
计算机网络知识补充(1)
计算机网络:是一个将分散的,具有独立功能的计算机系统,通过通信设备和线路进行连接起来,由功能完善的软件实现资源共享和信息共享的系统,计算机网络是互连的,自治的计算机集合 互连:通过通信链路来进行互联互通 自治:没…...
C# Onnx Yolov8 Pose 姿态识别
效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…...
7.algorithm2e中while怎么使用
algorithm2e中while怎么使用 在 algorithm2e 宏包中,要使用 while 循环,您可以使用 \While 和 \EndWhile 命令来定义循环的开始和结束。以下是如何使用 while 循环的示例: \documentclass{article} \usepackage[linesnumbered,boxed]{algorit…...
Flask狼书笔记 | 08_个人博客(下)
文章目录 8 个人博客8.4 初始化博客8.5 使用Flask-Login管理用户认证8.6 CSRFProtect实现CSRF保护8.7 编写博客后台小结 8 个人博客 8.4 初始化博客 1、安全存储密码 密码不要以明文的形式直接存储在数据库中,以防被攻击者盗取、泄露。一般的做法是,不…...
机器学习第十课--提升树
一.Bagging与Boosting的区别 在上一章里我们学习了一个集成模型叫作随机森林,而且也了解到随机森林属于Bagging的成员。本节我们重点来学习一下另外一种集成模型叫作Boosting。首先回顾一下什么叫Bagging? 比如在随机森林里,针对于样本数据,…...
react scss.modules中使用iconfont
全局引入详见全局引入scss 全局的scss文件中引入iconfont.css use "../font/iconfont.css"; 然后就可以正常使用啦...
使用Jmeter+ant进行接口自动化测试(数据驱动)
最近在做接口测试,因为公司有使用jmeter做接口测试的相关培训资料,所以还是先选择使用jmeter来批量管理接口,进行自动化测试。话不多说,进入正题: 1.使用csv文件保存接口测试用例,方便后期对接口进行维护&…...
可视化图表组件之股票数据分析应用
股市是市场经济的必然产物,在一个国家的金融领域之中有着举足轻重的地位。在过去,人们对于市场走势的把握主要依赖于经验和直觉,往往容易受到主观因素的影响,导致决策上出现偏差。如今,通过数据可视化呈现,…...
STM32 ~ GPIO不同模式之间的区别与实现原理
GPIO全称General Purpose Input Output ,即通用输入/输出。其实GPIO的本质就是芯片的一个引脚,通常在ARM中所有的I/O都是通用的。不过,由于每个开发板上都会设计不同的外围电路,这就造成了GPIO的功能可能有所不同。大部分GPIO都是…...
dvwa靶场通关(十二)
第十二关:Stored Cross Site Scripting (XSS)(存储型xss) low 这一关没有任何防护,直接输入弹窗代码 弹窗成功 medium 先试试上面的代码看看,有没有什么防护 发现我们的script标签不见了,应该是被过滤掉…...
【shell学习】企业运维工作中常用的shell脚本
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...
对权限的理解和使用
目录 一:用户权限: ★su命令 ★sudo命令 二:文件权限 ★文件的类型权限 ★文件夹的权限的使用 ▲文件夹的可读权限: ▲文件夹的可写权限: ▲文件夹的可执行权限: ★权限的修改操作 ▲chmod命令 ★对于文件的…...
MySQL 5.7 通过数据库idb文件快速导入至另一台数据库
前言 数据库有一张表里有1000万条数据,通过sql导入会非常缓慢,如果数据库版本相同,迁移表可以通过复制表idb文件实现快速迁移。 一、系统环境 原服务器系统:centos7.4 原服务器数据库版本:MySQL5.7.21 新服务器系统…...
Windows右键菜单为何变得臃肿?ContextMenuManager帮你重新掌控
Windows右键菜单为何变得臃肿?ContextMenuManager帮你重新掌控 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单的混乱而烦…...
开源提示词库:提升AI协作效率的实战指南与核心设计解析
1. 项目概述:一个开源提示词库的价值与定位如果你也经常使用大型语言模型,无论是用于编程辅助、内容创作还是日常问答,那么你一定遇到过这样的困境:面对一个空白的输入框,明明心里有明确的需求,却不知道如何…...
从CANoe实战出发:深度解析UDS网络层诊断中的流控帧(FC)与时间参数STmin
从CANoe实战解析UDS流控帧:FC与STmin参数调优指南 在汽车电子测试领域,UDS诊断协议的网络层流控机制直接影响着ECU通信的可靠性与效率。当测试工程师在CANoe环境中模拟诊断会话时,经常会遇到因流控帧参数配置不当导致的报文丢失、响应超时等问…...
STM32F103 IAP实战:从Bootloader设计到远程固件更新
1. 为什么你的STM32需要IAP升级? 第一次接触IAP(In-Application Programming)这个概念时,我正蹲在工厂车间的设备旁边,手里拿着需要升级的STM32板子发愁。产线上30台设备需要更新程序,而每台设备都要拆外壳…...
一键部署Obsidian环境:自动化脚本实现跨设备配置同步
1. 项目概述:为什么我们需要一个“一键式”的 Obsidian 安装脚本?如果你是一个深度依赖 Obsidian 进行知识管理、笔记写作或项目规划的从业者,无论是程序员、作家、学生还是研究员,大概率都经历过这样的场景:换了一台新…...
Cursor集成Trunk插件:AI编程与代码质量守护的完美融合
1. 项目概述:当AI编程助手遇上代码质量守护者最近在折腾Cursor编辑器,发现了一个挺有意思的插件项目——trunk-io/cursor-plugin。简单来说,这就是一个桥梁,把Trunk这个代码质量与安全平台的能力,直接集成到了Cursor这…...
Spring Boot项目接入Claude的3种生产级方案,含安全沙箱、审计日志与LLM调用熔断机制
更多请点击: https://intelliparadigm.com 第一章:Spring Boot项目接入Claude的3种生产级方案,含安全沙箱、审计日志与LLM调用熔断机制 在高可用AI服务场景中,将Claude大模型能力安全、可控、可观测地集成进Spring Boot应用&…...
保姆级教程:用Lumerical FDTD参数扫描功能,分析WO3薄膜厚度对反射率的影响
从零到精通:Lumerical FDTD参数扫描在薄膜光学设计中的实战指南 在光电材料研究和器件设计中,薄膜厚度的精确控制往往直接影响器件的光学性能。以三氧化钨(WO₃)薄膜为例,其厚度变化会显著改变反射光谱特性,…...
RAGday13-day15
Day13:RAG 常见问题 & 调优实战检索不到内容原因:分块太小、关键词太偏、没做混合检索解决:换递归 / 父子分块、加上 ES 混合检索、做 Query 改写搜到内容多但答不对原因:检索杂、没重排、没上下文压缩解决:加 Rer…...
Python爬虫实战:用urllib和正则搞定E-Hentai图片批量下载(附完整代码与避坑指南)
Python高效爬虫实战:多线程下载与智能错误处理 引言 在当今数据驱动的时代,网络爬虫已成为获取互联网信息的重要工具。对于开发者而言,掌握高效的爬虫技术不仅能提升工作效率,还能解决许多实际业务场景中的数据采集需求。本文将深…...
