56 votes

Comment exécuter un script, en fonction de la connexion internet.

Je monte souvent un disque distant en utilisant sshfs. J'aimerais que ce montage soit automatique. Cependant, si je le monte dans mon .bashrc ou mes scripts de démarrage, le montage échoue souvent parce que ma connexion Internet sans fil n'a pas encore été établie.

Quelqu'un connaît-il un moyen facile d'exécuter un script bash à chaque fois que la connexion est établie, ou de monter automatiquement un disque sshfs ?

1voto

Rolf Points 1420

systemd semble avoir pris le dessus sur les réseaux de nos jours.

$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.

IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           n/a         unmanaged
  2 enp0s25          ether              n/a         unmanaged
  3 wlo1             wlan               n/a         unmanaged

3 links listed.

Il possède également des unités correspondant aux interfaces

$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device                                                        loaded active plugged   Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device                                                                                   loaded active plugged   Centrino Ultimate-N 6300 (3x3 AGN)

Apparemment, vous pouvez les utiliser dans les fichiers de l'unité de service. Il suffit donc de créer une unité de service pour exécuter votre script et d'utiliser quelque chose comme ça à l'intérieur pour le faire fonctionner de manière conditionnelle sur le réseau :

BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device

Bonne chance ! Je ne l'ai pas testé, donc "votre kilométrage peut varier".

Sources :

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X