shell脚本检查tomcat运行状态异常通过mail465端口发邮件

12 篇文章 0 订阅

shell脚本检查tomcat运行状态异常通过mail465端口发邮件代码如下:

1、配置文件:

filePath=/data/soft/tomcat/apache-tomcat-7.0.1
semdEmailTo=11740000874@qq.com
sendEmailTitle=测试邮件主题
sendEmailContent=测试邮件内容

2、代码:

注意:不同linux设备的sh路径可能不同,需通过which sh查看sh的绝对路径修改即可。

#!/bin/sh
#防止中文乱码
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

#file_conf.txt文件路径
file_conf="/data/shell/check_tomcat_conf.txt"

#判断文件是否存在
if [ -f "${file_conf}" ];then
	
	echo $(date +'%Y-%m-%d %H:%M:%S')" 配置信息文件存在"

	#获取等号前内容,作为map中的Key值
	dbArrOne=($(awk -F'[=]' '{print $1}' ${file_conf} ))
	
	#获取等号后内容,作为map中的value值
	dbArrTwo=($(awk -F'[=]' '{print $2}' ${file_conf}))

	#创建一个空map
	declare -A map=()
	
	#通过循环,将db_backups_conf配置文件中的信息存储在map中
	for((i=0;i<${#dbArrOne[@]};i++))
	do
		map[${dbArrOne[i]}]=${dbArrTwo[i]}
	done
	
	#获取收件人的邮件账号的字符串
	semdEmailTo=${map["semdEmailTo"]}
	
	#获取默认的字符串分隔符
	old_ifs="$IFS"
	
	#设置字符串分隔符为逗号
	IFS=","
	
	#将收件人的邮件账号value值的字符串进行分隔,获取一个数组
	semdEmailToArr=($semdEmailTo)

	#将字符串的分隔符重新设置为默认的分隔符
	IFS="$old_ifs"

	tomcat=`ps -ef|grep ${map["filePath"]} | grep -v 'grep\|tail' | awk '{print $2}'`
	
	if test -z ${tomcat};
	then
		#遍历收件人的邮箱地址,逐个发送邮件
		for email in ${semdEmailToArr[@]};
		do
			echo "发送邮件:"${email}
			echo ""${map["sendEmailContent"]} | mail -s ""${map["sendEmailTitle"]} ${email}
		done
	else
		echo "tomcat正常"
	fi
	
	

else
	echo "文件不存在"
fi

3、配置参数说明:

参数意义如下:
filePath=软件tomcat绝对路径
semdEmailTo=收件人邮箱,多个收件人邮箱用逗号隔开
sendEmailTitle=测试邮件主题(文本内容中一定不能包含=)
sendEmailContent=测试邮件内容(文本内容中一定不能包含=)

4、使用注意事项:

使用注意事项:
1、默认的是.sh、.txt文件都要放在/data/shell脚本下,如果放置的路径变了,需要修改.sh中读取.txt配置文件的路径
2、对于不同的Linux环境下,要修改check_tomcat_conf.txt文件中的配置信息,比如filePath的路径等信息
3、备份异常发送邮件提醒采用的是mail,运行的linux上提前先安装好mail并配置到mail.rc发送邮件的信息才可以。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值