创作背景

公司使用tomcat为中间件,每次替换重启要执行太多命令了,烦躁,就自己查询资料写了一个一键重启tomcat并自动清除work目录,有懂得大佬帮忙给提点改进意见。

脚本源码

#!/bin/sh
#==================================
#author by lizhongnian
#2019年6月5日
#将此脚本放入tomcat下的bin目录下
#==================================#定义要处理的tomcat路径
TomcatPath=$(dirname $(dirname $(readlink -f "$0")))
##定义常用属性
Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Green_background_prefix="\033[42;37m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m"
Info="${Green_font_prefix}[信息]${Font_color_suffix}"
Error="${Red_font_prefix}[错误]${Font_color_suffix}"
Tip="${Green_font_prefix}[注意]${Font_color_suffix}"
if [ -z "$TomcatPath" ];thenecho -e "${Error}:获取到的路径为空!"exit
elseecho "${Info}:你的tomcat路径为:$TomcatPath"
fi#获取对应tomcat PID
unset pid
pid=$(ps -ef | grep $TomcatPath | grep java | grep -v grep | awk '{print $2}')#判断是否有正在运行的tomcat进程
if [ ! -n "$pid" ] ;
then
echo -e "${Error}:获取pid失败,退出执行"
exit
else
echo -e "${Info} pid=${pid}"
fi
#确认有对应的tomcat进程,先进入tomcat的bin目录,使用shutdown停止任务
bash $TomcatPath/bin/shutdown.sh
#等待3s
echo -e "${Info}:执行shutdown,等待3s后继续"
sleep 3
#第二次检测是否有正在运行的tomcat进程
unset pidTwo
pidTwo=$(ps -ef | grep $TomcatPath | grep java | grep -v grep | awk '{print $2}')
if [ ! -n "$pidTwo" ] ;
then
echo -e "${Info}:使用shutdown停止任务成功"
else
echo -e "${Error}:使用shutdown停止任务失败,即将kill tomcat进程"length=${echo $pidTwo | awk '{ print $2; }'}
if [ "$length" != "" ];thenecho "获取到多个pid,退出执行"exit
elsekill -9 $pidTwoecho -e "${Info}:tomcat进程停止成功"
fi
fi work_path=$TomcatPath/work/
current_path="$PWD"
cd $work_path
if [ -e Catalina ];thenrm -rf *
elseecho "${Tip}:Catalina已经为空了"
fiecho -e "${Info}:Catalina目录清理成功!"
cd $current_path
echo -e "${Info}:正在执行启动!"
bash $TomcatPath/bin/startup.sh
pidNew=$(ps -ef | grep $TomcatPath | grep java | grep -v grep | awk '{print $2}')
echo -e "${Info}:启动成功,重启之后的tomcat进程号为$pidNew"
stty erase '^H' && read -p " 是否直接打印日志(yes/y:继续;no/n:退出;回车默认打印):" status
case "$status" inyes|y)echo -e "${Info} 您选择了打印日志!"tail -f $TomcatPath/logs/catalina.out ;;no|n)echo -e "${Tip} 您选择了不打印日志!" && exit 1;;*)echo -e "${Info} 您选择了打印日志!"tail -f $TomcatPath/logs/catalina.out ;;
esac

使用教程

复制上方代码,到服务器tomcat的bin目录下新建一个restart.sh的文件。将代码复制进去,保存。
然后给代码赋予运行权限

chmod +x restart.sh

使用就是执行

./restart.sh

或者

bash restart.sh

效果图:

说明

此脚本命令多数为本人在网上查询的,都是些基本命令,备注也很清楚,非常适合初学者学习,也希望能有大佬提供一下改进意见。

原文地址:https://www.7colorblog.com/?id=75
本人博客:https://www.7colorblog.com/
七彩杂货铺:https://faka.7colorblog.com/

一键重启tomcat并自动清除work目录相关推荐

  1. linux 程序定时重启tomcat,linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

  2. php上传文件自动删除,jsp-解决文件上传后重启Tomcat时文件自动删除问题

    吼吼,我遇到的问题是这样的...... 我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个.然后开始上传图片,能成功,能在服务器找到文件夹和相应的文件.但是,重启项目,或者清理缓存之后, ...

  3. linux shell tomcat 一键重启

    linux shell tomcat 一键重启 放在bin目录下 #!/bin/sh #获取启动文件目录 basePath=$(cd $(dirname $0);pwd) #根据目录查进程并kill ...

  4. tomcat修改tomcat-users.xml文件,服务器重启后又自动还原

    tomcat配置用户管理权限,修改tomcat-users.xml文件 在tomcat目录中找到/conf/tomcat-users.xml,修改 <tomcat-users>     & ...

  5. 重启tomcat后,上传图片到webapps被自动删除

    重启tomcat后,上传图片到webapps被自动删除 原因: 解决: 原因: webapps中的资源是编译本地的项目得来的,比如你运行存储图片在webapps下的image文件夹下,而且你还判断im ...

  6. tomcat重启后session没有清除的解决办法

    tomcat的默认设置是:用户保存的session信息会持久到到硬盘中,即使重启tomcat,这些session信息也不会丢失. 如果希望重启tomcat,清除所有session信息,可以修改tomc ...

  7. Linux上监控tomcat down掉后自动重启tomcat

    Linux上监控tomcat down掉后自动重启tomcat 解决思路 Linux上监控tomcat down掉后自动重启tomcat 第一步编辑:monitor.sh文件(文件内容看下文) 第二步 ...

  8. Shell in AIX Web端 自动远程执行重启tomcat服务命令

    2019独角兽企业重金招聘Python工程师标准>>> Web端 自动远程执行重启tomcat服务命令 vi restart.sh   #!/bin/sh JAVA_HOME=/us ...

  9. Tomcat优化设置:IDEA实现不用重启Tomcat就能自动更新资源

    对于tomcat的部署,找到edit configure 然后点deployment,点右边的+的artifacts,可以看到这两个: war 是发布模式,就是先将项目打成war包,再去部署,这个一般 ...

最新文章

  1. 盘点 10 个代码重构的小技巧
  2. matlab中读文件的行数_Matlab中读取txt文件的几种方法
  3. k8s label和label选择器
  4. 头部玩家指的是什么_MMO等级提升背后:如何设计经验,才能使玩家达成预期时间曲线?...
  5. jdk 中英对照 百度网盘_Hadoop部署一jdk与MySQL
  6. WordPress,SAP Kyma和微信三者的集成
  7. 101 LINQ Samples
  8. win7文件和文件夹可以重名吗_Win7下如何重命名,替换System32文件夹下的系统文件...
  9. python游戏源码回合制游戏_python game源码下载
  10. 几何分布的期望和方差公式推导_数学期望、方差、协方差
  11. Linux-sys文件系统
  12. vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
  13. ART艺术作品相关公开数据集
  14. 2020年日历电子版(打印版)_2020全年共12个月的日历表打印版可图片年历-2020年日历A4打印版(每月一张-横版-完美版)下载Word带节假日农历电子版-西西软件下载...
  15. PicGo+Github图床配置
  16. tomcat日志切割和定期删除
  17. python中矩阵的表示_Python表示矩阵的方法分析
  18. 关于flash分区打印信息jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985
  19. MongoDB修改器使用
  20. 分布式协调服务——Zookeeper入门

热门文章

  1. 【两步】教你学会画红黑树
  2. 手机为什么显示服务器异常即将退出游戏,LOL服务器连接异常即将退出怎么回事...
  3. 计算机网络】网络安全 : 计算机网络安全威胁 ( 四种网络攻击类型 | 主动攻击与被动攻击 | 分布式拒绝服务攻击 DDos | 恶意程序 | 计算机网络安全目标)
  4. 算法题 推多米诺 模拟、队列与黑魔法
  5. iOS视频直播用到的协议
  6. 基于Windows10安装docker服务
  7. 原 android音频编辑之音频转换PCM与WAV
  8. 关于文本数据预处理的一些方法
  9. 笔试真题解析 ALBB-2015 算法project师实习生机试
  10. 女性哺乳期可以染发吗?