J'ai des prises en pension miroir que j'utilise comme référence pour plusieurs constructions tout au long de la journée. Je souhaite un travail cron qui s'exécute toutes les nuits et effectue une synchronisation des dépôts pour chacun de mes dépôts. Mon problème est que certaines des pensions exigent que le VPN soit actif - et je ne veux pas laisser le VPN actif s'il ne l'était pas déjà.
J'utilise Ubuntu 18.04 et j'ai installé network-manager-openconnect-gnome et mon VPN est configuré avec les informations d'identification conservées. J'ai NetworkManager et nmcli version 1.10.6. Je peux commencer la connexion avec
nmcli con up <connection name>
mais je ne sais pas comment déterminer l'état du VPN avant de l'activer.
avec la solution acceptée, j'ai maintenant:
#! /bin/bash
connection="<connection name>"
vpn_active=$(nmcli con show --active | grep "${connection}")
if [[ $vpn_active ]] ; then
echo "VPN is active"
else
echo "VPN is not active"
nmcli con up "${connection}"
fi
pushd ~/disc2/repo.cache/
for dir in * ; do
if [ -d "$dir" ]; then
cd $dir
pwd;
repo sync;
cd ..
fi
done
popd
if [[ ! $vpn_active ]] ; then
echo "stopping vpn"
nmcli con down "${connection}"
fi
Depuis le site nmcli de Gnome:
$ nmcli con show --active
NAME UUID TYPE DEVICE
TELUS1213-5G a857583c-3f2a-4399-9fc6-3df74b0509f0 802-11-wireless wlp60s0
Wired connection 1 f1d049d0-ad20-3201-ac70-5cb8cc06a6e5 802-3-ethernet enp59s0
Pour tester si une connexion spécifique est active, utilisez:
nmcli con show --active <connection_name>