如何解决用于检测和报告服务是否已开始/停止更改的脚本
我正在尝试编写一个bash脚本来检测服务是否已更改状态。到目前为止,我已经知道了:
while true; do
if [ -z "$(netstat -tulpn | grep 51827)" ];
then
echo notinuse
else
echo inuse
fi
sleep 5
done
它可以工作,但是当服务启动或关闭时,它将不断写入,我只希望它在状态更改的第一个实例上报告。因此,请报告服务何时关闭,何时启动,何时启动以及何时关闭。
我开始创建循环计数器并与之前的运行进行比较,但是我陷入了一个完全混乱的变量中。有人可以帮忙吗?
解决方法
if [ -z "$(netstat -tulpn | grep 51827)" ];
then
echo notinuse
notify_status="notinuse-sent"
else
echo inuse
notify_status="inuse-sent"
fi
while true; do
if [ -z "$(netstat -tulpn | grep 51827)" ];
then
if [ $notify_status = "notinuse-sent" ]; then
echo "already notified"
else
echo notinuse
$notify_status="notinuse-sent"
fi
else
if [ $notify_status = "inuse-sent" ]; then
echo "already notified"
else
echo inuse
$notify_status="inuse-sent"
fi
fi
sleep 5
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。