如何在Linux中测试远程服务器是否正常运行?

时间:2012-01-04 07:03:02

标签: linux shell

我想通过测试与DB端口的连接来测试我的远程数据库是否已启动。 有没有一种简单的方法在linux shell脚本中执行此操作? 我的服务器在端口P1,P2,...,Pn上的主机X1,X2,...,Xn和y上运行 我想从管理服务器查询所有这些。

3 个答案:

答案 0 :(得分:2)

如何实现这一点有很多可能性,但我认为最可行的方法是使用NAGIOS插件nrpe tcp。

请检查:

http://exchange.nagios.org/directory/Plugins/Network-Protocols/ * - TCP-and-UDP-%28 Generic%29

答案 1 :(得分:0)

您可以使用telnet检查端口是否已准备好进行连接。

答案 2 :(得分:0)

您可以直接使用netcat或将我们的测试工具dda-serverspec用作此类任务的更专用测试(https://github.com/DomainDrivenArchitecture/dda-serverspec-crate)。您可以定义自己的期望

providedIn: 'root'

并针对本地主机或远程主机(通过ssh连接)测试这些期望。对于远程测试,您必须定义一个目标:

{:netcat [{:host "mywebserver.com" :port "443"}
          {:host "telnet mywebserver.com" :port "80"}
          {:host "telnet mywebserver.com" :port "8443"}]}

您可以使用{:existing [{:node-name "test-vm1" :node-ip "35.157.19.218"} {:node-name "test-vm2" :node-ip "18.194.113.138"}] :provisioning-user {:login "ubuntu"}}

进行测试