linux开启定时监控端口并重新启动的shell脚本

为什么要使用这个脚本

一般我们在linux上面部署程序,可能会由于某些原因导致程序强制停掉,而我们又不想让程序停掉,如果发生停掉就想着让他自己重新启动,我们不用手动再登录linux终端,然后通过命令启动,目前就是为了减少时间,所以我们需要开启linux定时任务来执行启动脚本

Crontab(定时任务)

crontab命令用于设置周期性被执行的命令,适用于日志备份,清理缓存,健康状态检测等场合。

linux开启定时任务

crontab -e 会打开一个文本编辑器,按“i”键进入编辑模式,填写具体任务计划
crontab -l //列出当前的所有调度任务
crontab -l -u test //列出用户test的所有调度任务
crontab -r //删除所有任务调度工作

service crond restart //重启服务

图片[1]-linux开启定时监控端口并重新启动的shell脚本-QQ沐编程

示例:

10 * * * *  root  echo “123”     #每个小时的十分都以root用户的身份执行echo命令

10 2 * * *  root   /etc/a.sh       #每天2:10以root用户身份执行脚本a.sh(前提是a.sh有执行权限)

10 2 5,6,7 * * root  /etc/a.sh     #每月的5,6,7号的2:10以root身份执行a.sh脚本

监听应用并启动脚本代码

#!/bin/bash
 
time=`date +%Y-%m-%d-%H:%M`
echo "app-Script start time" $time >> /home/listen_port/listen_port.log
app=`netstat -pltun |grep 8080 |wc -l`
 
def_app()
{
if [ $app -eq 0 ];then
echo "停止运行了,停止的时间是 " $time >> /home/listen_port/listen_port.log
cd /opt/idc/apps/ceshi/
./startup.sh >> /home/listen_port/app
fi
}
def_app
 
time1=`date +%Y-%m-%d-%H:%M`
echo "执行结束时间:" $time1 >> /home/listen_port/listen_port.log

#!/bin/bash是指此脚本使用/bin/bash来解释执行

其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径

bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享