Ci sono situazioni in cui desideriamo avviare una procedura ogni volta che il nostro sistema si aggancia alla rete (o, al contrario, si disconnette).
Se usiamo il sistema standard "networkmanager" questo è molto semplice, infatti basta inserire uno script all'interno della cartella:
/etc/NetworkManager/dispatcher.d
Gli script in quella cartella vengono eseguiti in ordine alfabetico crescente alla connessione (e decrescente alla sconnessione). Per questo si usa la solita pratica comune di usare il formato "NN_nome", ad esempio "30_popfile".
Inoltre è importante che siano con owner "root.root" e diritti "755".
L'esecuzione avviene passando 2 parametri: interfaccia e l'indicativo "up" o "down" in caso di attivazione o disattivazione. Un template base per uno script è quindi questo:
#!/bin/sh case "$2" in 'up') # network UP ... codice da eseguire alla connessione ... ;; 'down') # network DOWN ... codice da eseguire alla disconnesione ... ;; esac
Ad esempio, per sincronizzare l'ora di sistema (una volta sola alla connessione, e non di continuo usando il servizio), si può creare il file:
/etc/NetworkManager/dispatcher.d/20_ntpd
#!/bin/sh case "$2" in 'up') exec ntpd -qg & ;; 'down') ;; esac
o anche:
#!/bin/sh if [ "$2" = "up" ]; then exec ntpd -qg & fi
Per altre informazioni:
https://wiki.archlinux.org/index.php/NetworkManager#Network_Services_wit...
Aggiungi un commento