gpt4 book ai didi

用于监视远程端口并在不成功时启动脚本的 Linux 脚本

转载 作者:太空狗 更新时间:2023-10-29 12:12:12 24 4
gpt4 key购买 nike

RHEL 7.1 是将在其上使用的操作系统。

我有两台相同的服务器(A 和 B)。服务器 B 需要监视服务器 A 上的端口,如果它关闭 30 秒,则启动脚本。我读到 netcat 在 RHEL 7 上被 ncat 取代,所以这是我目前所拥有的:

#!/bin/bash
Server=10.0.0.1
Port=123
ncat $Server $Port &> /dev/null; echo $?

如果端口打开,输出为 0。如果端口关闭,输出为 1。我只是不确定如何做下一部分,即“如果关闭 30 秒,然后启动x 脚本”

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

如果你真的想编写脚本而不是使用像 Pacemaker 这样的专用工具作为@CharlesDuffy建议,那么你可以这样做:

  • 运行一个无限循环
  • 检查端口
    • 如果up,保存时间戳
    • 否则检查与上次保存时间戳的差异
      • 如果超过了阈值,则运行脚本
  • 睡一会

例如:

#!/bin/bash

server=10.0.0.1
port=123
seconds=30

seen=$(date +%s)
while :; do
now=$(date +%s)
if ncat $server $port &> /dev/null; then
seen=$now
else
if ((now - seen > seconds)); then
run-script && exit
fi
fi
sleep 1
done

关于用于监视远程端口并在不成功时启动脚本的 Linux 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com