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


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐