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

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

我們可以看到,Tomcat已經(jīng)啟動(dòng)了。
二、 Tomcat配置定時(shí)重啟
1. 在某個(gè)目錄新建一個(gè) .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進(jìn)程為:$pid"
echo "[info][$(date)]tomcat已經(jīng)啟動(dòng),準(zhǔn)備使用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)閉失敗,準(zhǔn)備kill進(jìn)程"
kill -9 $pid
echo "[info][$(date)]kill進(jìn)程完畢"
sleep 1
else
echo "[info][$(date)]使用shutdown關(guān)閉成功"
fi
else
echo "[info][$(date)]tomcat未啟動(dòng)"
fi
echo "[info][$(date)]準(zhǔn)備啟動(dòng)tomcat"
$binPath"/startup.sh"
3. 修改 tomcatRestart.sh 的權(quán)限
sudo chmod 777 tomcatRestart.sh
4. 添加腳本到 crontab 定時(shí)任務(wù)
crontab -e
第一次輸入該命令后提示選擇編輯器

5. 輸入定時(shí)執(zhí)行命令并打印相關(guān)日志到某位置(每個(gè)月1號(hào),16號(hào)的3點(diǎn)30執(zhí)行)
30 03 1,16 * * /usr/local/timed-task/tomcatStart.sh >> /usr/local/timed-task/ tomcatRestart.log
附:定時(shí)任務(wù)描述語(yǔ)法
crontab中每一個(gè)定時(shí)任務(wù)的格式由6部分組成,分別是分鐘、小時(shí)、天、月、星期以及命令,前5部分用來(lái)配置任務(wù)觸發(fā)時(shí)機(jī),中間使用空格隔開,如下:
minute hour day month dayofweek command
minute – 表示分鐘,值的范圍是從0到59的整數(shù)
hour – 表示小時(shí),值的范圍是從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í)間部分除了使用估計(jì)數(shù)字以外還可以配合星號(hào)(*),逗號(hào)(,),斜杠(/),橫杠(-)組合來(lái)表示其他意義。
星號(hào)(*)---表示任意值,比如:
30 02 * * * command #每天的2:30執(zhí)行命令
逗號(hào)(,)---表示指定的時(shí)間,比如:
30 03 1,16 * * command #每月的1號(hào)、16號(hào)的3:30分執(zhí)行命令
斜杠(/)---表示每隔多長(zhǎng)時(shí)間,比如:
* */2 * * * command #每個(gè)2小時(shí)執(zhí)行一次命令
橫杠(-)---表示連續(xù)時(shí)間,比如:
* 1-7/1 * * * command #凌晨1點(diǎn)-7點(diǎn)之前每隔一小時(shí)執(zhí)行一次命令
以上就是Tomcat在linux環(huán)境中開機(jī)自啟(定時(shí)重啟)的方法的詳細(xì)內(nèi)容,更多關(guān)于Tomcat開機(jī)自啟的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于tomcat下啟動(dòng)solr遇到的問題及解決
這篇文章主要介紹了關(guān)于tomcat下啟動(dòng)solr遇到的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Tomcat 類加載器的實(shí)現(xiàn)方法及實(shí)例代碼
這篇文章主要介紹了Tomcat 類加載器的實(shí)現(xiàn)方法及實(shí)例代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05
使用TomCat,service輸出臺(tái)出現(xiàn)亂碼的解決
本文介紹了解決Tomcat服務(wù)輸出臺(tái)中文亂碼問題的兩種方法,第一種方法是修改`logging.properties`文件中的`prefix`和`encoding`參數(shù);第二種方法是配置IDEA的VMoptions和文件編碼設(shè)置,通過這兩種方法,可以有效解決Tomcat服務(wù)輸出臺(tái)出現(xiàn)的亂碼問題2025-01-01

