zoukankan      html  css  js  c++  java
  • linux下实现tomcat定时自动重启

            tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式。要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdown,然后在执行start。或者通过ps aux查询出是否存在tomcat进程,若存在kill -9 tomcat的pid,再进行启动tomcat.通过shell脚本实现tomcat重启,并将该脚本添加到linux的定时任务计划中,就可以实现tomcat的定时自启动功能。

    •          以下是实现tomcat重启的shell脚本
    #!/bin/sh    
    #初始化全局环境变量
    . /etc/profile
    
    #查找tomcat的pid
    pid=`ps aux | grep tomcat | grep -v grep | grep -v Restart | grep -v restart | awk '{print $2}'`
    echo "the tomcat pid is $pid"  
    
    #判断tomcat进程是否存在
    if [ -n "$pid" ];then
       sleep 1
       pid=`ps aux | grep tomcat | grep -v grep | grep -v restart | grep -v Restart | awk '{print $2}'`
       if [ -n "$pid" ]; then
          sleep 1
          echo "tomcat进程将被杀死."
          kill -9 $pid
       fi
       
       sleep 1  
    
       echo "tomcat进程已经被杀死,先重新启动tomcat." 
       service tomcat start
    else
        echo "tomcat进程不存在,先重新启动tomcat."
        service tomcat start
    fi
                         

         由于我原来对tomcat已经做了服务自启动,因此可以直接执行service tomcat start 启动tomcat。

    • 实现tomcat定时任务
    vi /etc/crontab
    

    可以看到以下内容

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # For details see man 4 crontabs
    
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed
    
    
    

    以上备注说明非常清楚,不再加以详细说明,将tomcat重启执行脚本语句添加到最后一行。

    #设定每天凌晨3点整重启tomcat
    0 3 * * * root sh /home/scripts/tomcat/restart >> /home/logs/tomcat/restart.log

    特别注意,在写完脚本后要enter,否则crond服务无法识别,定时任务无法生效

    保存并重启crontab服务

    service crond restart

    以上便完成了tomcat的定时重启功能


  • 相关阅读:
    C++细节决定成败---菜鸡程序员被前辈蹂躏历程(持续更新)
    VIM杂记——基本使用
    UE4——用Android Studio打开UE4工程
    UE4——打包时遇到Could not determine java version from 'xx.x.x'的问题
    HTML笔记——常用标签总结
    LeetCode——142. Linked List Cycle II
    Leetcode——344. Reverse String
    UE4 隐藏虚拟摇杆
    UE4——实现走近物件其上方出现互动按钮并弹出UMG的功能
    UE4——调用API实现布娃娃死亡效果
  • 原文地址:https://www.cnblogs.com/wala-wo/p/5119220.html
Copyright © 2011-2022 走看看