Tomcat在linux環(huán)境中開機自啟(定時重啟)的方法
一、Tomcat開啟自啟
我們經(jīng)常會遇到服務(wù)器斷電或異常,而異常后tomcat中部署的web項目需要我手動去啟動。為此,特別貢獻出Linux環(huán)境中Tomcat開機自啟的方式供學(xué)習(xí)使用。
1. 添加JAVA_HOME并配置tomcat自啟
vi /etc/rc.local
添加如下語句,路徑根據(jù)自己的配置路徑修改
export JAVA_HOME=/usr/java/jdk1.8.0_221 /usr/local/apache-tomcat-8.5.54/bin/startup.sh start
添加后如下圖所示:

2. 重啟服務(wù)器測試
執(zhí)行reboot,重啟linux服務(wù)器
3. 重啟后查看tomcat進程
ps -ef | grep tomcat

我們可以看到,Tomcat已經(jīng)啟動了。
二、 Tomcat配置定時重啟
1. 在某個目錄新建一個 .sh 腳本文件

2. 在 tomcatRestart.sh 文件里面寫入如下代碼(注意:代碼中的“tomcatPath”需要自行修改)
vim tomcatRestart.sh
#!/bin/bash
/etc/profile
tomcatPath="/usr/local/apache-tomcat-8.5.54"
binPath="$tomcatPath/bin"
echo "[info][$(date)]正在監(jiān)控tomcat,路徑:$tomcatPath"
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [-n "pid"]; then
echo "[info][$(date)]tomcat進程為:$pid"
echo "[info][$(date)]tomcat已經(jīng)啟動,準備使用shutdown命令關(guān)閉"
$binPath"/shutdown.sh"
sleep 2
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [-n "$pid"]; then
echo "[info][$(date)]使用shutdown關(guān)閉失敗,準備kill進程"
kill -9 $pid
echo "[info][$(date)]kill進程完畢"
sleep 1
else
echo "[info][$(date)]使用shutdown關(guān)閉成功"
fi
else
echo "[info][$(date)]tomcat未啟動"
fi
echo "[info][$(date)]準備啟動tomcat"
$binPath"/startup.sh"
3. 修改 tomcatRestart.sh 的權(quán)限
sudo chmod 777 tomcatRestart.sh
4. 添加腳本到 crontab 定時任務(wù)
crontab -e
第一次輸入該命令后提示選擇編輯器

5. 輸入定時執(zhí)行命令并打印相關(guān)日志到某位置(每個月1號,16號的3點30執(zhí)行)
30 03 1,16 * * /usr/local/timed-task/tomcatStart.sh >> /usr/local/timed-task/ tomcatRestart.log
附:定時任務(wù)描述語法
crontab中每一個定時任務(wù)的格式由6部分組成,分別是分鐘、小時、天、月、星期以及命令,前5部分用來配置任務(wù)觸發(fā)時機,中間使用空格隔開,如下:
minute hour day month dayofweek command
minute – 表示分鐘,值的范圍是從0到59的整數(shù)
hour – 表示小時,值的范圍是從0到23的整數(shù)
day – 表示天,值的范圍是從1到31的整數(shù)
month – 表示月,值的范圍是從1到12的整數(shù)
dayofweek – 表示星期,值的范圍是從0到6的整數(shù) (0表示周日)
command – 需要執(zhí)行的命令(/home/script/tomcat.sh > /home/script/shlog.txt表示執(zhí)行tomcat.sh腳本,并且把結(jié)果日志打印到shlo.txt中)
時間部分除了使用估計數(shù)字以外還可以配合星號(*),逗號(,),斜杠(/),橫杠(-)組合來表示其他意義。
星號(*)---表示任意值,比如:
30 02 * * * command #每天的2:30執(zhí)行命令
逗號(,)---表示指定的時間,比如:
30 03 1,16 * * command #每月的1號、16號的3:30分執(zhí)行命令
斜杠(/)---表示每隔多長時間,比如:
* */2 * * * command #每個2小時執(zhí)行一次命令
橫杠(-)---表示連續(xù)時間,比如:
* 1-7/1 * * * command #凌晨1點-7點之前每隔一小時執(zhí)行一次命令
以上就是Tomcat在linux環(huán)境中開機自啟(定時重啟)的方法的詳細內(nèi)容,更多關(guān)于Tomcat開機自啟的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux 中Tomcat遠程調(diào)試代碼的實現(xiàn)方法
這篇文章主要介紹了Tomcat 遠程調(diào)試代碼的實現(xiàn)方法的相關(guān)資料,這里提供實例幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08
解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?ja
這篇文章主要給大家介紹了如何解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問題,文中有詳細的原因分析及解決方法,需要的朋友可以參考下2023-10-10
tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼
這篇文章主要介紹了tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08
web安全—tomcat禁用WebDAV或者禁止不需要的 HTTP 方法
現(xiàn)在主流的WEB服務(wù)器一般都支持WebDAV,使用WebDAV的方便性,呵呵,就不用多說了吧,用過VS.NET開發(fā)ASP.Net應(yīng)用的朋友就應(yīng)該 知道,新建/修改WEB項目,其實就是通過WebDAV+FrontPage擴展做到的,下面我就較詳細的介紹一下2017-03-03
Linux系統(tǒng)下安裝三個或者多個tomcat(步驟詳細)
這篇文章主要介紹了Linux系統(tǒng)下安裝三個或者多個tomcat(步驟詳細),文中通過步驟介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

