为了测试OpenVPN隧道设置,我需要在尝试通过隧道发送内容之前检测新启动的OpenVPN守护程序何时建立了隧道(或尝试并且未能这样做).
基于一种很好的超时方式tail:
ssh hostname '
sleep 5 &
timerPID=$!;
tail -n0 -F --pid=$timerPID /var/log/messages | grep openvpn | while read -r line;
do
if echo "$line" | grep -qF -e "Initialization Sequence Completed" -e "Connection refused";
then
kill $timerPID;
break;
fi;
done &
/etc/init.d/openvpnA start &
wait $timerPID'
Run Code Online (Sandbox Code Playgroud)
那是:
openvpn直到计时器终止
它似乎工作,但不熟悉OpenVPN我不知道这是否是检测连接状态的正确方法.由于我是唯一一个使用该机器的人,我认为grep由于早期的流程启动而导致成功问题的可能性可以忽略.但我猜测只有熟悉OpenVPN代码的人才能真正回答这个问题:目前的测试是否足以确定连接是成功还是被拒绝?
| 归档时间: |
|
| 查看次数: |
7065 次 |
| 最近记录: |