如何编写脚本来检测到一系列远程机器的ssh连接?

时间:2013-11-26 04:40:46

标签: shell

我正在研究HPC,它上面有很多节点。使用Interactive qsub,我可以登录其中一个节点。在进行并行计算时,我必须确保当前可连接多少个节点,并配置我的程序。因为节点经常出现故障。

例如,节点名称是bh001,bh002,bh003,.....和

ssh bh001

将登录bh001节点。

那么如何编写脚本来检测与这一系列节点的ssh连接?我希望脚本将当前可连接节点列表作为txt文件。

2 个答案:

答案 0 :(得分:1)

可以做这样的事情:

ping -c1 $server &>/dev/null && echo $server

也就是说,尝试向$server发送1次ping,如果成功,则打印出来,否则不打印任何内容。

我可能错了,但我觉得你的系统必须有一个标准的方法来获取活着的节点列表。查看您的手册。这是一个显而易见的特征,它必须存在。

答案 1 :(得分:0)

我们正在使用'nc'命令检查我们的centos / redhat基岩群的ssh端口。

通常,nc包在DVD或默认存储库中可用。


#!/bin/bash

IP=192.168.56.1
PORT=22    
nc -z $IP $PORT &> /dev/null
if [ $? -eq 0 ];then
    echo "$IP is connected"
    ## Do stuff for success  
else
    echo "$IP is unable to connected"
    ## Do stuff for fail  
fi