ubuntu server 下tomcat 如何实现在设定的时间内重启
PHP中文网
PHP中文网 2017-04-21 11:15:16
0
3
498

我想让ubuntu下的tomcat7 实现8个小时就自动重启一次。要怎么弄?
求各路大神献计献策。谢谢!

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
洪涛

我幫你搜尋這個
http://stackoverflow.com/questions/20454435/how-to-restart-a-process-every-4-hours-using-crontab
每八小時這麼寫。
* */8 * * * user-name command to be executed

順道推薦一個可靠的管理tomcat的腳本

#!/bin/bash
#
# tomcat     This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Short-Description: start and stop tomcat
### END INIT INFO
export JAVA_HOME=/usr/java/jdk1.6.0_43 
TOMCAT_HOME=/usr/local/apache-tomcat-6.0.37
SHUTDOWN_WAIT=45

tomcat_pid() {
    echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print  }'`
}

start() {
    pid=$(tomcat_pid)
    if [ -n "$pid" ]
    then
        echo "Tomcat is already running (pid: $pid)"
    else
        # Start tomcat
        echo "Starting tomcat"
        $TOMCAT_HOME/bin/startup.sh
    fi
    return 0
}

stop() {
    pid=$(tomcat_pid)
    if [ -n "$pid" ]
    then
        echo "Stoping Tomcat"
        $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0
    count_by=5
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
        echo "Waiting for processes to exit. Timeout before we kill the pid: ${count}/${kwait}"
        sleep $count_by
        let count=$count+$count_by;
    done

    if [ $count -gt $kwait ]; then
        echo "Killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
        kill -9 $pid
    fi
    else
        echo "Tomcat is not running"
    fi

    return 0
}

case  in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
       pid=$(tomcat_pid)
        if [ -n "$pid" ]
        then
           echo "Tomcat is running with pid: $pid"
        else
           echo "Tomcat is not running"
        fi
        ;;
esac

exit 0
迷茫

使用crontab定時任務解決。

# 设置定时任务
root> crontab -e
# 8点,每天,每月执行脚本
root> 0 8 * * *  /full/path/to/tomcat/restart/script
# 查看定时任务列表
root> crontab -l

http://stackoverflow.com/questions/3474280/how-to-set-up-a-cron-job-to-run-an-executable-every-hour?answertab=oldest#tab-top

PHPzhong

#!/bin/sh

。 /etc/設定檔

pid=ps aux | grep tomcat7_portal | grep -v grep | grep -v retomcat7_portal | awk '{print }'
回顯$pid

if [ -n "$pid" ]
then
{
echo ===========關機================
/opt/tomcat7_portal/ bin/shutdown.sh
sleep 1
pid=ps aux | grep tomcat7_portal | grep -v grep | grep -v retomcat7_portal | awk '{print }'
if [ -n "$pid" ]
then

雷雷

fi
sleep 1
echo ===========startup.sh==============
/opt/tomcat7_portal/bin/startup.sh
}
else
echo ===========startup.sh==============
/opt/tomcat7_portal/bin/startup.sh

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!