首頁 運維 linux運維 Linux如何使用Crontab定時監控維護Tomcat應用程式

Linux如何使用Crontab定時監控維護Tomcat應用程式

May 14, 2023 am 08:07 AM
linux tomcat crontab

监测的应用接口: 新闻接口、天气接口
处理方法:应用接口不可用时自动重启tomcat,并发送告警邮件给相关人员

#!/bin/bash
#---------------------------------------------------------
# 功能说明:
#	监控指定http服务是否可用,如果不可用立即重启tomcat
#
# 使用说明:
#	1. 将此脚本放置在/home/opentsp/crontab/目录下。
#	2. 修改脚本执行权下为可执行权限。
#	3. 添加到定时任务中,定时执行时间(建议为20分钟)
#	4. 修改邮件发送人员信息列表(当服务重启时发邮件给相关人员)
#                    - 周凌飞(2014-08-13)
#---------------------------------------------------------
export lc_all=zh_cn.utf-8

#网站地址、参数
server_name="趣驾云接口服务"
url_2="http://127.0.0.1/get_rss_news?p=%7b%27chid%27:%27tiyu%27%7d"
keyworld_2=&#39;<title>&#39;
url_3="http://127.0.0.1/get_json_weather?p=%7blon:116.407617,lat:39.993956,date:1%7d"
keyworld_3=&#39;temperature&#39;

#邮件发送列表
mail_ary=(
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
)

#接口调用失败的处理方法
function dofail(){
	local ipinfo=$(ifconfig |sed -n &#39;2p&#39;|awk &#39;{print substr($2,6)}&#39;);
	# 发送邮件
	for _v in ${mail_ary[*]} ; do
		echo "[$server_name 异常] - [$(date -d "0 min" +"%y-%m-%d %h:%m:%s")] - [请求地址: $1] - [请求返回码: $2]" | mail -s ${ipinfo}服务异常 ${_v}
	done
	# 写入日志
	echo "[error] - [$(date -d "0 min" +"%y-%m-%d %h:%m:%s")] - 返回码[$2] - 重启tomcat服务" >> detect-http.log
	# 关闭tomcat
	sh /home/opentsp/crontab/ibr-shutdown.sh
	exit;
}

#请求超时时间设置
time_out=40
function docheck(){
	local url_x=$1;
	local keyworld_x=$2;
	http_status_code=`curl -m $time_out -o /dev/null -s -w "%{http_code}" "${url_x}"`
	if [ $http_status_code != 200 ];then
		#请求失败
		echo "-> fail - 返回码${http_status_code}";
		dofail ${url_x} ${http_status_code};
	else
		#服务器正常响应,检查返回内容
		if curl -m ${time_out} -s ${url_x} | grep -q ${keyworld_x};then
			echo "-> success";
		else
			echo "->> fail";
			# 返回内容错误处理
			dofail ${url_x} ${http_status_code};
		fi
	fi
}

#
#检查 - 新闻
docheck ${url_2} ${keyworld_2}
#检查 - 天气
docheck ${url_3} ${keyworld_3}

将以上代码放入到linux的定时任务中即可,定时任务时间建议为20分钟一次。

以上是Linux如何使用Crontab定時監控維護Tomcat應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1535
276
安裝Linux的系統要求 安裝Linux的系統要求 Jul 20, 2025 am 03:49 AM

LinuxCanrunonModestHardwarewtareWithSpecificminimumRequirentess.A1GHZPROCESER(X86ORX86_64)iSNEDED,withAdual-Corecpurecommondend.r AmshouldBeatLeast512MbForCommand-lineUseor2Gbfordesktopenvironments.diskSpacePacereQuiresaminimumof5-10GB,不過25GBISBISBETTERFORAD

比特幣代號是什麼?比特幣是什麼樣式的代碼? 比特幣代號是什麼?比特幣是什麼樣式的代碼? Jul 22, 2025 pm 09:51 PM

比特幣作為數字世界的先驅,其獨特的代號和底層技術一直是人們關注的焦點。它的標準代號是 BTC,在某些符合國際標準的平台上也被稱為 XBT。從技術角度看,比特幣並非單一的代碼樣式,而是一個龐大且精密的開源軟件項目,其核心代碼主要由 C 語言編寫,並融合了密碼學、分佈式系統和經濟學原理,任何人都可以查看、審查和貢獻其代碼。

如何讓PHP容器支持自動構建 PHP環境持續集成CI配置方式 如何讓PHP容器支持自動構建 PHP環境持續集成CI配置方式 Jul 25, 2025 pm 08:54 PM

要讓PHP容器支持自動構建,核心在於配置持續集成(CI)流程。 1.使用Dockerfile定義PHP環境,包括基礎鏡像、擴展安裝、依賴管理和權限設置;2.配置GitLabCI等CI/CD工具,通過.gitlab-ci.yml文件定義build、test和deploy階段,實現自動構建、測試和部署;3.集成PHPUnit等測試框架,確保代碼變更後自動運行測試;4.使用Kubernetes等自動化部署策略,通過deployment.yaml文件定義部署配置;5.優化Dockerfile,採用多階段構

如何搭建獨立PHP任務容器環境 PHP定時腳本運行容器配置方法 如何搭建獨立PHP任務容器環境 PHP定時腳本運行容器配置方法 Jul 25, 2025 pm 07:27 PM

搭建獨立PHP任務容器環境可通過Docker實現,具體步驟如下:1.安裝Docker與DockerCompose作為基礎;2.創建獨立目錄存放Dockerfile、crontab文件;3.編寫Dockerfile定義PHPCLI環境並安裝cron及必要擴展;4.編寫crontab文件定義定時任務;5.編寫docker-compose.yml掛載腳本目錄並配置環境變量;6.啟動容器並驗證日誌。相比Web容器內執行定時任務,獨立容器具備資源隔離、環境純粹、穩定性強、便於擴展等優勢。為確保日誌與錯誤捕

如何在Linux中獲得命令的幫助? 如何在Linux中獲得命令的幫助? Jul 17, 2025 am 12:55 AM

在Linux中獲取命令幫助的方法有四種:一是用--help查看基本用法,適合快速了解命令的常見選項和參數;二是用man查看完整手冊頁,提供詳細的命令說明和示例;三是用info查看結構化幫助,適用於復雜命令如gcc、make的信息導航;四是參考網絡資源和社區,如Linux中國、StackOverflow等平台獲取中文資料或解決特定問題。新手建議從--help和man開始逐步掌握。

如何在Linux上安全刪除硬盤驅動器 如何在Linux上安全刪除硬盤驅動器 Jul 24, 2025 am 12:08 AM

確認目標硬盤設備名(如/dev/sda),避免誤刪系統盤;2.使用sudoddif=/dev/zeroof=/dev/sdXbs=1Mstatus=progress全盤覆寫零值,適用於大多數場景;3.敏感數據使用sudoshred-v-n3/dev/sdX進行三次隨機數據覆寫,確保無法恢復;4.可選執行sudobadblocks-wsv/dev/sdX做破壞性寫入測試;最後用sudohexdump-C/dev/sdX|head驗證是否全為零,完成安全擦除。

如何在Linux中添加用戶 如何在Linux中添加用戶 Jul 21, 2025 am 03:32 AM

在Linux中添加用戶常用useradd或adduser命令。 1.使用useradd時需手動設置密碼和家目錄,加-m參數可創建家目錄;2.可通過-s、-G、-u等參數指定shell、組和UID;3.adduser是交互式命令,適合新手自動完成配置;4.注意權限、用戶名唯一性和家目錄權限問題;5.誤操作可用userdel刪除用戶及家目錄。掌握這些要點可高效安全地管理用戶。

如何使用Cron和Anacron在Linux上安排任務 如何使用Cron和Anacron在Linux上安排任務 Aug 01, 2025 am 06:11 AM

cronisusedforpreciseschedulingonalways-onsystems,whileanacronensuresperiodictasksrunonsystemsthataren'tcontinuouslypowered,suchaslaptops;1.Usecronforexacttiming(e.g.,3AMdaily)viacrontab-ewithsyntaxMINHOURDOMMONDOWCOMMAND;2.Useanacronfordaily,weekly,o

See all articles