1. 程式人生 > >Linux 中 tomcat 服務檢測/重啟 sh 指令碼

Linux 中 tomcat 服務檢測/重啟 sh 指令碼

最近在重構,tomcat工程很不穩定,需要做一個自動檢測並重啟的程式,之前用python寫了個程式,
但由於有多個工程,並分別部署在多個伺服器上,還需要一個個的去配置python環境,有點麻煩,所以就想著直接寫個 shell 指令碼
該指令碼主要通過檢測tomcat對應的工程連結是否已經正常啟動來重啟tomcat。
有失敗重置機制(這裡設定了十次),若連續請求10次都失敗了
先判斷tomcat是否已經啟動,若啟動了,則關閉tomcat再重啟tomcat。否則直接啟動 tomcat。





#!/bin/sh

# 連結
URL="http://localhost:8080/"
# tomcat目錄
TOMCAT_HOME=/usr/soft/apache-tomcat-8.5.20
# 關閉tomcat命令的路徑
CLOSE_TOMCAT=${TOMCAT_HOME}/bin/shutdown.bat
# 啟動tomcat命令的路徑
START_TOMCAT=${TOMCAT_HOME}/bin/startup.bat
# tomcat快取目錄
TOMCAT_CACHE=${TOMCAT_HOME}/work
# 日誌檔案的路徑
LOG_PATH=${TOMCAT_HOME}/check.log
status=0

cd $TOMCAT_HOME
date +%F" "%H:%M:%S
function checkFuc(){
	for i in {1..10}
	do
		echo $i
		status=$(curl -s -o /dev/null -m 10 --coct-timeout 10 URL -w %{http_code})
		if [ $status -eq 200];then
			break
		else
			if [$i -eq 10];then
				$CLOSE_TOMCAT
				sleep 3
				rm -rf $TOMCAT_CACHE
				$START_TOMCAT
			fi
		fi
	done
	echo $status
	if [ $status -eq 200];then
		echo "tomcat is running OK"
	else
		TomcatPID=$(ps -aux | grep ${TOMCAT_HOME} | grep java | awk '{print $2}')
		if	[ $TomcatPID ];then
			echo "closing tomcat"
			$CLOSE_TOMCAT
			sleep 3
			echo "starting tomcat"
			rm -rf $TOMCAT_CACHE
			$START_TOMCAT
		else
			rm -rf $TOMCAT_CACHE
			$START_TOMCAT
		fi
			
	fi
}
checkFuc()>>$LOG_PATH 


相關推薦

Linux tomcat 服務檢測/ sh 指令碼

最近在重構,tomcat工程很不穩定,需要做一個自動檢測並重啟的程式,之前用python寫了個程式, 但由於有多個工程,並分別部署在多個伺服器上,還需要一個個的去配置python環境,有點麻煩,所以就想著直接寫個 shell 指令碼 該指令碼主要通過檢測tomcat對應的工

Linux伺服器tomcat設定定時任務

一、實現思路 編寫shell指令碼,加入定時任務。 二、實現目的 tomcat定時重啟防止專案卡死。 三、編寫shell指令碼(來源網路) #!/bin/sh export JAVA_HOME=**/usr/java/jdk1.7.0_80** pid

linuxtomcat服務的啟動問題

今日2018年10月16日,在專案過程中遇到了tomcat奔潰(崩潰?)的問題。最後經過亦師亦友的同行講解,我明白了原因。故來此與各位大佬交流分享一下。總結的話語有什麼問題,還望各位大佬批評指正,感激不盡。  先下結論吧(後面再去分析結果):在web專案中,容器若是tomcat,禁

linuxtomcat的開機

最近在做一個專案時出現了一種需求,要求可以實現linux開機自動路由以及自動掛載還有tomcat開機自啟動。 本次專案使用的虛擬機器,虛擬機器都是通過克隆來的,又是雙網絡卡。安裝的系統是redhat企業版,所以有效的網絡卡檔案為/etc/sysconfig/network-

linuxcrontab命令啟動//停止詳解

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是預設啟動的。另 外, 由於使用者自己也可以設定計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。 一、crond簡介 cr

關於遠端操作Linux下的專案和tomcat服務

在windows系統上使用工具對已部署的專案進行更新或其他操作的時候難免要重啟tomcat,我們可以使用對專案進行操作,在進入Linux系統之前要先輸入一系列的資訊,進入之後找到專案所在目錄對其進行操

LinuxTomcat服務監聽,關閉後自動

本教程用來解決,linux下tomcat服務,因為各種原因異常關閉後,實現自動重啟服務,保證服務可用 還用到一個自啟動指令碼 #!/bin/sh # func:自動監控tomcat指令碼並且執行

瀏覽器訪問Linux伺服器上的圖片+tomcat

首先需要配置java、tomcat這個以後會發,此外還要確保埠的開放 1.上傳圖片到伺服器 建議使用Winscp這個軟體,圖形化拖動檔案,十分方便 路徑:usr/local/EasyFit/picture/下是我的圖片 2.配置tomcat的server檔案 路徑:usr/

linux下寫tomcat啟動,的腳本

執行 color bili .... bsp ucc linux utf start 啟動: #bash/bin cd /finance/ LANG="en_US.UTF-8" export LANG /finance/tomcat8-finance/bin/catali

Linuxtomcat服務器自啟動的設置方法

ont 方法 16px font etc png 下載到本地 自啟 rtu 1. cd到rc.local文件所在目錄,一般在 /etc/rc.d/目錄。 2. 將rc.local下載到本地windows系統中。 3. 編輯rc.local,將要啟動的tomcat /bin

Linux下Redis啟動/關閉/服務指令碼

指令碼功能: 實現Redis單機多例項情況下的正常啟動、關閉、重啟單個redis例項。完成系統標準服務的以下常用功能:  start|stop|status|restart       注:redis程式程式碼遮蔽了HUP訊號,不支援線上過載配置檔案,故去掉reloa

linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。

linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器重啟導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。 #ps -ef|grep tomcat檢視tom

node的express框架,nodemon設定修改程式碼後服務自動

原始node中的express框架,每次修改js程式碼後,都要重新npm start 才能看到改動後的效果,除錯起來十分不方便。所以我引入了nodemon模組了彌補這樣缺點。 安裝nodemon: npm install -g nodemon 或者安裝到本

Linux下service xxx start/stop/restart啟動服務、關閉服務服務深入理解@

我們經常使用service xxx start來啟動一個服務,那麼service究竟是執行的是什麼?實際上service是一個/sbin/下的一個指令碼,名稱為service。服務的絕對路徑為/sbin

linux下實現tomcat定時自動

        tomcat自帶的指令碼中沒有提供直接restart的模式,但是有start和shutdown兩種模式。要實現restart模式,實際上只需要判斷是否已經啟動tomcat,若已經啟動則限制性shutdown,然後在執行start。或者通過ps aux查詢出是

LinuxFTP服務器的搭建

匿名用戶 star idt 哪些 rpm window 下載 ins 安裝包 vmware12上安裝的CentOs6.8,最終實現物理機上的windows10能正常訪問CentOs上的FTP服務器。 一、查看是否安裝有ftp相關的安裝包。 # rpm -qa | grep

Linuxnginx服務器啟動腳本

nginx啟動腳本 linux shell腳本 Linux中nginx服務器啟動腳本,將此腳本放入/etc/init.d/目錄下,進行啟動和關閉,並用chkconfig命令將nginx加入到chkconfig管理中,設置開機自啟動。 詳細腳本如下:#!/bin/bash #aut

Linux服務管理

/var/ con 位置 包安裝 sta 文件 -- restart sco RPM包默認安裝的服務   查看已安裝的服務:     chkconfig --list  默認安裝位置:    /etc/init.d      啟動腳本    /etc/sysconfi

Linux下安裝Oracle後無法登錄數據庫ORA-01034:ORACLE not available

http use username connected 無法 -- .aspx data ase Linux下安裝了數據庫,安裝完成後可以用,今天啟動就不能用了,提示Oracle not available,後來查找資料,據說是oracle服務沒有打開。如下方式可以解決問題

linuxtomcat安裝

clas 上傳 font iptable 進入 linux中 inux rc.d rtu 步驟: 1)上傳Tomcat到linux上 2)解壓Tomcat到/usr/local下 3)開放Linux的對外訪問的端口8080 /sbin/iptables -I INPUT -