要测试OpenVPN隧道设置,我需要检测新启动的OpenVPN守护进程在尝试在隧道上发送东西之前,何时已经建立了隧道(或者失败了)。
发布于 2013-09-20 19:12:48
基于一种很好的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'这就是:
openvpn的日志行,直到计时器退出为止
1. Start the daemon
2. Wait for the timer to die
这似乎很有效,但由于不熟悉OpenVPN,我不确定这是否是检测连接状态的正确方法。由于我是唯一使用这台机器的人,所以我认为,由于早期的进程启动而导致grep成功的时间问题的可能性可以忽略。但是,我猜想只有熟悉OpenVPN代码的人才能真正回答这个问题:当前的测试是否足以确定连接是成功的还是被拒绝的?
https://stackoverflow.com/questions/12616122
复制相似问题