需要有关如何创建自动化脚本以使用 telnet/portqry 检查从多个服务器到 Windows 服务器环境中的一个服务器 (DB) 的连接的建议,并且该脚本还将为不成功的连接创建一个 .txt 文件
提前感谢您的帮助克劳迪娅
需要有关如何创建自动化脚本以使用 telnet/portqry 检查从多个服务器到 Windows 服务器环境中的一个服务器 (DB) 的连接的建议,并且该脚本还将为不成功的连接创建一个 .txt 文件
提前感谢您的帮助克劳迪娅
你为什么不直接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
看看IPSentry。我们已经在 Windows/UNIX/Linux 混合环境中使用它多年,发现它运行良好。
既然您在评论中声称您确实在尝试测试与 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:"
}