美文网首页
判断端口是否存在,不存在重启对应服务

判断端口是否存在,不存在重启对应服务

作者: su酥饼 | 来源:发表于2023-04-03 10:38 被阅读0次
    * * * * * /bin/bash -c 'if timeout 1 bash -c "</dev/tcp/localhost/60231"; then echo "Port is open"; else systemctl restart squid.service && echo "$(date): Squid restarted" >> /root/squid_status.log; fi' >/dev/null 2>&1
    
    在这个命令中:
    
    timeout 1 表示执行 ping 测试的超时时间为 1 秒。
    
    在 bash -c "" 之后的 "</dev/tcp/localhost/60231" 命令将测试本地主机上的 60231 端口是否存在。
    
    echo "Port is open" 命令表示在端口存在的情况下输出的信息。
    
    systemctl restart squid.service 命令表示重启 squid 服务。
    
    $(date): Squid restarted 表示输出到 /root/squid_status.log 文件中的内容,其中 $(date) 表示当前系统时间。
    
    >> /root/squid_status.log 表示将输出信息追加到 /root/squid_status.log 文件末尾。
    
    >/dev/null 2>&1 表示将标准输出和标准错误输出都重定向到空设备,以避免在定时任务执行时产生不必要的消息。
    
    注意:以上命令应该是一整行,如果使用 crontab 编辑器进行编辑,请确保将整个命令复制并粘贴到编辑器中。
    

    相关文章

      网友评论

          本文标题:判断端口是否存在,不存在重启对应服务

          本文链接:https://www.haomeiwen.com/subject/uzmdddtx.html