1

需要有关如何创建自动化脚本以使用 telnet/portqry 检查从多个服务器到 Windows 服务器环境中的一个服务器 (DB) 的连接的建议,并且该脚本还将为不成功的连接创建一个 .txt 文件

提前感谢您的帮助克劳迪娅

4

3 回答 3

0

你为什么不直接ping它?

if ping -q -c 1 yourserver; then
    echo 'server is online'
else
    echo 'server is offline'
fi

我认为这个问题是相似的。

这是bash,因为您使用了bash标签

如果您需要检查特定端口,则可以使用以下代码:

timeout 10 "telnet server port"
if [[ $? == 124 ]]; then # timeout is going to exit with 124 code if it timeouts because of the telnet
    echo 'server is online'
else
    echo 'server is offline'
fi
于 2013-08-23T22:36:26.403 回答
0

看看IPSentry。我们已经在 Windows/UNIX/Linux 混合环境中使用它多年,发现它运行良好。

于 2013-08-23T22:37:32.963 回答
0

既然您在评论中声称您确实在尝试测试与 Sql Server 的连接性,为什么不使用 .Net SqlConnection 类呢?像这样,

$server = "server\instance"
$conStr = "Data Source=$server;Integrated Security=true;Initial Catalog=master;Connect Timeout=3;"
$sqlConn = new-object ("Data.SqlClient.SqlConnection") $conStr
try {
    $sqlConn.Open()
    if ($sqlConn.State -eq 'Open') {
        $sqlConn.Close();
        write-host "$server is alive."
    } else {
        write-host "$server connection problem: $($sqlConn.State.ToString())"
    }
} catch {
    write-host "$server is unavailable:"
}
于 2013-08-24T08:40:08.303 回答