Tomcat在linux環(huán)境中開機(jī)自啟(定時(shí)重啟)的方法
一、Tomcat開啟自啟
我們經(jīng)常會遇到服務(wù)器斷電或異常,而異常后tomcat中部署的web項(xiàng)目需要我手動去啟動。為此,特別貢獻(xiàn)出Linux環(huán)境中Tomcat開機(jī)自啟的方式供學(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進(jìn)程
ps -ef | grep tomcat
我們可以看到,Tomcat已經(jīng)啟動了。
二、 Tomcat配置定時(shí)重啟
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進(jìn)程為:$pid" echo "[info][$(date)]tomcat已經(jī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未啟動" fi echo "[info][$(date)]準(zhǔn)備啟動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)日志到某位置(每個月1號,16號的3點(diǎn)30執(zhí)行)
30 03 1,16 * * /usr/local/timed-task/tomcatStart.sh >> /usr/local/timed-task/ tomcatRestart.log
附:定時(shí)任務(wù)描述語法
crontab中每一個定時(shí)任務(wù)的格式由6部分組成,分別是分鐘、小時(shí)、天、月、星期以及命令,前5部分用來配置任務(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ù)字以外還可以配合星號(*),逗號(,),斜杠(/),橫杠(-)組合來表示其他意義。
星號(*)---表示任意值,比如:
30 02 * * * command #每天的2:30執(zhí)行命令
逗號(,)---表示指定的時(shí)間,比如:
30 03 1,16 * * command #每月的1號、16號的3:30分執(zhí)行命令
斜杠(/)---表示每隔多長時(shí)間,比如:
* */2 * * * command #每個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ī)自啟的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux 中Tomcat遠(yuǎn)程調(diào)試代碼的實(shí)現(xiàn)方法
這篇文章主要介紹了Tomcat 遠(yuǎn)程調(diào)試代碼的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)例幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?ja
這篇文章主要給大家介紹了如何解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問題,文中有詳細(xì)的原因分析及解決方法,需要的朋友可以參考下2023-10-10tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼
這篇文章主要介紹了tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08web安全—tomcat禁用WebDAV或者禁止不需要的 HTTP 方法
現(xiàn)在主流的WEB服務(wù)器一般都支持WebDAV,使用WebDAV的方便性,呵呵,就不用多說了吧,用過VS.NET開發(fā)ASP.Net應(yīng)用的朋友就應(yīng)該 知道,新建/修改WEB項(xiàng)目,其實(shí)就是通過WebDAV+FrontPage擴(kuò)展做到的,下面我就較詳細(xì)的介紹一下2017-03-03Linux系統(tǒng)下安裝三個或者多個tomcat(步驟詳細(xì))
這篇文章主要介紹了Linux系統(tǒng)下安裝三個或者多個tomcat(步驟詳細(xì)),文中通過步驟介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04