脚本监听端口

说明:检测8080端口是否被监听,如不监听,则重启服务。同时输出日志到run.log中 。添加上重启服务器的时间

#!/bin/bash
source /etc/profile
port="8080"
start="/opt/tc/selfTomcat/apache-tomcat-9.0.6/bin/startup.sh"
stop="/opt/tc/selfTomcat/apache-tomcat-9.0.6/bin/shutdown.sh"

netstat -ln|awk '/^tcp/ {print $4}'|grep -q ":$port$"||{

time2=$(date "+%Y-%m-%d %H:%M:%S")

echo "$time2  start" >>run.log
eval $stop   2>>error.log

sleep 30s

eval $start 2>>error.log
time3=$(date "+%Y-%m-%d %H:%M:%S")
des="rebot the tomcat"
echo "$time3 $des"  >>run.log
exit $?
}
exit 0

 

 

source  /etc/profile     /etc/profile存储的是环境变量,运行java使用,否则出现jdk找不到的问题

sleep 30s                 为先等待30s

 

(-----------------

crontab -e

之后: 日志会输出到cr.log中 (test.sh中需要echo "$time2  start" ,如果写成echo "$time2  start" >>1.log 则日志不会输出到1.log中,原因不明????)

等待4s
@reboot (sleep 4;sh /opt/tc/rebootSolf/test.sh 1>>/opt/tc/rebootSolf/cr.log 2>>/opt/tc/rebootSolf/cr2.log)

 ---------------------------------------------)

之后crontab -e 配置 16点14分运行.sh ,日志输出到 time.log中

14 16 * * * /opt/tc/rebootSolf/systemStart.sh 1>>/opt/tc/rebootSolf/time.log 

说明:

1、netstat

netstat是一个监控TCP/IP网络的工具,它可以显示路由表,实际的网络连接以及每一个网络接口设备的状态信息,netstat用于显示与IP,TCP,UDP和ICMP协议相关的统计数据,一般用于查询本机各端口的网络连接情况。

-a 显示所有socket。包括正在监听的。

-l 显示正在监听的服务状态

-n以网络IP地址代替名称,显示网络连接情形。

-p 显示建立相关连接的程序名和PID

-t显示TCP协议的连接情况。

-u显示UDP协议的连接情况。

2、awk

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。

使用方法   : awk '{pattern + action}' {filenames}

其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠括起来。

$0变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推。

如:

11、搜索/etc/passwd有root关键字的所有行

root@ubuntu:/opt/tc/selfTomcat/apache-tomcat-9.0.6/bin# awk '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash

12 搜索/etc/passwd有root关键字的所有行,并显示对应的shell

root@ubuntu:/opt/tc/selfTomcat/apache-tomcat-9.0.6/bin# awk '/root/{print $1}' /etc/passwd
root:x:0:0:root:/root:/bin/bash

 

3 grep

grep 指令用于查找内容包含指定的范本样式的文件

  • -q 或 --quiet或--silent : 不显示任何信息。  只关心是否匹配上,可以用echo $? 查看是否匹配上,匹配上为0,1表示没有匹配

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值