使用shell脚本实现用ping检查刀片服务器与主服务器之间的网络连通

为了检查daq01与刀片服务器之间的网络连接状态,

1. 使用ping命令的输出规律,如果可以ping通,会输出0% packet loss值; 如果不能ping通,则不会输出0% packet loss

2. 若ping命令输出0% packet loss执行成功,则表示网络连接正常,否则网络连接不上

3. shell脚本里的&&与 ||的使用,参考 https://blog.csdn.net/a627088424/article/details/20360107

     command1 && command2

表示: 若command1执行成功 && 则执行command2

   command1 || command2

表示: 若command1执行失败 || 则执行command2

4. 刀片服务器的hostname可以从/etc/hosts文件中grep得到

脚本内容:

1 #!/bin/bash
2 
3 host=`grep cmm03node /etc/hosts |awk '{print $2}'`
4 
5 for line in $host
6 do
7     ping -c 3 $line | grep -q "0% packet loss" && echo "$line OK" || echo "$line fail"
8 done

 得到的运行结果为:

[zengtx@daq01 test]$. ping.sh 
cmm03node01 OK
cmm03node02 OK
cmm03node03 OK
cmm03node04 OK
cmm03node05 OK
cmm03node06 OK
cmm03node07 OK
cmm03node08 OK
cmm03node09 OK
cmm03node10 OK
cmm03node11 OK
cmm03node12 OK
cmm03node13 OK
cmm03node14 OK

说明daq01与刀片服务器之间网络是正常的!

原文地址:https://www.cnblogs.com/zengtx/p/9552588.html