我使用 telnet 命令来检查 MySQL 端口是否正在响应。
telnet 10.10.10.24 3306
Run Code Online (Sandbox Code Playgroud)
我使用 ctrl 字符断开连接。这按预期工作。如何在 shell 脚本中使用此命令?
Cak*_*mox 12
如果您只是想检查端口是否打开,请尝试:
$ nc -zv 10.10.10.24 3306
Connection to localhost 3306 port [tcp/mysql] succeeded!
Run Code Online (Sandbox Code Playgroud)
nc
如果端口打开,则返回 0,否则返回 1。这对于编写脚本也很有帮助。省略v
开关以保持安静:
if ! nc -z 10.10.10.24 3306
then
do_something
fi
Run Code Online (Sandbox Code Playgroud)
nc
对于非交互式使用要好得多。尝试类似的东西
echo -e "\n\n" | nc 10.10.10.24 3306
Run Code Online (Sandbox Code Playgroud)
如果你没有 nc,你可以使用 bash 特殊文件重定向:
head -1 < /dev/tcp/10.10.10.24/3306 >/dev/null && echo MySQL is on || echo MySQL is off
Run Code Online (Sandbox Code Playgroud)