Мониторинг состояния подключения VPN и переподключение при отключении

2

Я могу подключиться к своему VPN с помощью:

/opt/cisco/anyconnect/bin/vpn connect SERVER

Я могу проверить состояние соединения с:

/opt/cisco/anyconnect/bin/vpn status

Это дает распечатку

Cisco AnyConnect Secure Mobility Client (version 4.3.03086) .

Copyright (c) 2004 - 2016 Cisco Systems, Inc.  All Rights Reserved.


  >> state: Connected
  >> state: Connected
  >> state: Connected
  >> notice: Connected to Not Available.
  >> registered with local VPN subsystem.
VPN>

Какой самый Mac-tastic способ всегда отслеживать, подключен ли VPN, и повторно подключать его, если это не так? Не будь bash FUL.

Walrus the Cat
источник
(не стесняйтесь использовать bash )
Walrus the Cat

Ответы:

2

вот как я это сделал:

сохранить следующее в /usr/local/bin/vpn

if [[ "{$(/opt/cisco/anyconnect/bin/vpn status)[0]}" == *"Disconnected"* ]]; then
    /opt/cisco/anyconnect/bin/vpn connect SERVER
fi

chmod +x /usr/local/bin/vpn

сохранить следующее в /Library/LaunchDaemons/com.example.utilities.vpn.plist

<plist version="1.0"> <dict> <key>Label</key> <string>com.example.whatever.vpn</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/vpn</string> </array> <key>StartInterval</key> <integer>30</integer> </dict> </plist>

загрузить его в launchd:

launchctl load -w /Library/LaunchDaemons/com.example.whatever.vpn.plist

проверьте, что это там:

launchctl list | grep whatever

Walrus the Cat
источник