Linux命令等待SSH服务器启动

前端之家收集整理的这篇文章主要介绍了Linux命令等待SSH服务器启动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个脚本,它创建一个虚拟机,并给我一个IP地址.
然后我想做这样的事情:
waitfoRSSh 192.168.2.38 && ssh 192.168.2.38

它将等待机器启动并ssh响应,然后ssh进入它.

waitfoRSSh是我需要找到的命令.

nmap,netcat,fping还是ping这个工作?我尝试过netcat,但如果主机无法访问,它会在几秒内放弃.

它需要处理机器本身正在启动的事实,并且可能需要一些时间来响应网络数据包.

解决方法

我没有主机,我可以ssh并控制它是否正常,但这应该工作:
while ! ssh <ip>
do
    echo "Trying again..."
done

或者更明确的shell脚本:

#!/bin/sh

ssh $1
while test $? -gt 0
do
   sleep 5 # highly recommended - if it's in your local network,it can try an awful lot pretty quick...
   echo "Trying again..."
   ssh $1
done

保存为(比方说)waitfoRSSh.sh然后用sh waitfoRSSh.sh调用它192.168.2.38

猜你在找的Linux相关文章