linux端口6000重启,监控服务器端口,Down掉会自动重启,并发送邮件 Linux Shell

shell代码(注意,一定要在VIM中编辑,否则执行会有问题)

port=$1

if [ ! -n "$port" ];then

echo "please enter the args port!"

exit

fi

service_name=$2

nc -w2 localhost $port

if [ $? != 0 ];then

echo '【'`date +"%Y-%m-%d %H:%M:%S"`'】检测到端口【'${port}'】已经关闭,该服务重新启动'>>/root/monitor_log.log

sh $2

exit

fi

执行定时任务 每十秒执行一次

crontab -e

* * * * * sleep 10; /root/port_monitor.sh 90 /var/dbstar/program/dmail-tomcat/bin/startup.sh

添加邮件功能

若想使用shell中的第14行代码,需要事先安装邮件服务。安装步骤如下:

vim /etc/mail.rc在最后添加以下两行代码

set from=xxx@xxx.com.cn smtp=mail.xxx.com.cn

set smtp-auth-user=xxx@xxx.com.cn smtp-auth-password=123456 smtp-auth=login

发送邮件命令,添加到第14行(shell)

echo "the port ${port} is down,the server is restart ${port} port!!"|mail -s "port ${port}/${service_name} is down!" xxx@xxx.com.cn

启动tomcat时乱码解决方案

在catalina.sh中添加如下代码即可

JAVA_OPTS="-Dfile.encoding=utf-8"

最终代码(shell)

port=$1

if [ ! -n "$port" ];then

echo "please enter the args port!"

exit

fi

service_name=$2

nc -w2 localhost $port

if [ $? != 0 ];then

echo '【'`date +"%Y-%m-%d %H:%M:%S"`'】检测到端口【'${port}'】已经关闭,该服务重新启动'>>/root/monitor_log.log

if [ -n "$service_name" ];then

sh $2

fi

if [ ! -n "$service_name" ];then

mkdir /tmp/portmonitor/ -p

touch /tmp/portmonitor/${port}.log

flag=$(cat /tmp/portmonitor/${port}.log)

if [ ! -n "$flag" ] || [ "1" != "$flag" ];then

echo '1'>/tmp/portmonitor/${port}.log

fi

fi

echo "the port ${port} is down,the server is restart ${port} port!!"|mail -s "port ${port}/${service_name} is down!" xxx@xxx.com.cn

exit

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值