zoukankan      html  css  js  c++  java
  • Linux下重启多个 tomcat 服务的脚本

    由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启。

    # 1、查找tomcat的进程ID
    ps -ef | grep tomcat
    # 2、根据路径去查找进程ID,然后逐个杀掉(毕竟一台服务器上面是会有多个不同业务的tomcat在运行。)
    kill -9 [ID]

    刚接触这些命令的时候,会经常的手动去敲命令然后练习加深,久而久之,感觉是在浪费时间(有时候会频繁修改数据库内容)。

    所以就想着,能不能来编条shell脚本去替我做这些意义不大的工作。

    新建文件:

    touch restart.sh
    vi restart.sh

    文件内容:

    #!/bin/bash
    kow=/opt/apache-tomcat-7.0.54
    open_acct=/opt/open_acct2
    echo "killing tomcat..."
    # 找到tomcat的进程id,并kill掉
    ps -ef | grep -v grep | grep -i '/opt/apache-tomcat-7.0.54|/opt/open_acct2' | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
    echo "killed tomcat"
    
    echo "starting kow tomcat..."
    # 重新启动tomcat
    $kow/bin/startup.sh
    $open_acct/tomcat2/bin/startup.sh
    $open_acct/apache-tomcat-7.0.54/bin/startup.sh

    然后保存文件,添加可执行权限 :

    chmod +x restart.sh

    然后直接运行就可以重启多个tomcat命令了。

    注:上面有一部分 sed 和 sh 这两个命令查了文档也不太明白是什么意思,但大致感觉就是把进程ID缓存起来然后当作shell脚本去执行。

    我的想法是根据tomcat的执行路径去匹配查找我想要的删除掉的进程,  

    #这一段内容是匹配多个不同值,可以修改为你想匹配的路径
    '/opt/apache-tomcat-7.0.54|/opt/open_acct2' 

    参考链接:

    linux系统下重启tomcat的shell脚本

    linux grep命令详解

    linux awk命令详解

  • 相关阅读:
    28、vSocket模型详解及select应用详解
    27、通过visual s'tudio 验证 SOCKET编程:搭建一个TCP服务器
    26、TCP服务器原理
    8、字符串操作
    9、内存操作
    ESP32作为接入点AP
    ·通过wifi_scan学习esp32wifi程序编写
    10、指针变量基础
    关于wifi网络基本原理了解
    开发团队中命名规范的重要性
  • 原文地址:https://www.cnblogs.com/xiterjia/p/7090125.html
Copyright © 2011-2022 走看看