Bash:服务器失败时关闭MySQL连接

时间:2017-04-30 15:46:28

标签: mysql linux bash

我有一个简单的脚本连接到外部MySQL服务器。

#!/bin/bash
server=1.2.3.1
port=3306
user=root
pass=root
db=radius

output=$(mysql -N -h $server -u $user -p$pass $db -e  "select * from table)
echo "$output"

问题是当服务器1.2.3.1上的mysql服务失败时,因为脚本长时间等待回答了!

如何只等待1秒钟,如果服务器没有响应,脚本会终止进程? 或者如何检查以前服务是否在远程服务器上?

问候。

1 个答案:

答案 0 :(得分:0)

我没有对此进行测试,但是我想您可以设置一个计时器,然后测试您的结果是否有值。

#!/bin/bash
server=1.2.3.1
port=3306
user=root
pass=root
db=radius

output=$(mysql -N -h $server -u $user -p$pass $db -e  "select * from table)
sleep 1
if ! [[ $output ]]
   mysql exit
fi
echo "$output"