はじめに
仕事でVPNを常時接続しているのですが、これがなかなか繋がらないわけです。
ひどい時は何回も接続を試して30分以上経ってやっと繋がる、なんてこともあります。
そんなこんなでVPNの接続が失敗する度にマウスでカチカチして接続を繰り返すのが面倒になったので
自動でリトライまでしてくれるVPNの接続コマンドをbashスクリプトで自作しました。
コマンド
インストール
$ touch /user/local/bin/vpn_connect
# /user/local/bin/vpn_connectに下のコードを貼り付ける
$ chmod +x /user/local/bin/vpn_connect
使い方
# vpn_connect [VPNサービス名]
$ vpn_connect '俺のVPN'
Connecting...
Connected
/user/local/bin/vpn_connect
# !/usr/bin/env bash
while :
do
vpn_status=`cat <<EOL | bash
scutil --nc status '$1' | head -n 1
EOL
`
case $vpn_status in
Disconnected)
cat <<EOL | bash
networksetup -connectpppoeservice '$1'
EOL
echo "Connecting..."
sleep 1s
;;
Connecting)
sleep 1s
;;
Connected)
echo $vpn_status
osascript -e 'display notification "VPN is connected" with title "vpn_connect" sound name "Submarine"'
exit 0
;;
*)
echo $vpn_status
exit 1
;;
esac
done
おわりに
shell力はザコなのでてきとーに作ったものですが便利そうなので良ければ使ってやってください。
(すんなりVPNが繋がればこんなことしなくていいのに・・・)