[systemd] Script de démarrage

Bonjour,
J’ai un script qui permet de récupérer le nom de ma machine à partir
des informations fournies par le DNS.

Sous Wheezy, je lançais ce script à partir du fichier /etc/rc.local.

Sous Jessie, le fichier rc.local est lancé avant le chargement de la
config réseau donc je ne peux pas accéder aux infos du DNS.

J’ai essayé avec systemd mais je n’arrive pas à faire démarrer mon
script après le chargement de la configuration réseau.

Je suis preneur de toutes solutions qui me permettent d’exécuter mon
script au démarrage de la machine après chargement de la couche réseau.
Merci

En combinant plusieurs astuces glanées sur le net, j’ai réussi à faire
démarrer mon script après le lancement du réseau.

Il faut créer un service (monservice.service) sous systemd qui permette
le lancement de votre script, de la forme :

[Unit]
Description=madescription

[Service]
Type=oneshot
ExecStart=monscript

[Install]
WantedBy=multi-user.target

Placé votre fichier monservice.service dans /etc/systemd/
system

Ensuite il faut creer un autre script (02-monscript) qui permette le
lancement de ce service après le démarrage de Network Manager.
Placer ce fichier dans /etc/NetworkManager/dispatcher.d/

Exemple de de fichier 02-script à adapter
#!/bin/bash
INTERFACE=mominterface # Le nom de l’interface
STATUS=monstatus # Le statut

case “$STATUS” in
’up’) exec systemctl start monservice.service;;
‘down’) exec systemctl stop autreservice.service;;
esac

Reste plus qu’à activer tout ça sous systemd avec la commande :

systemctl enable NetworkManager-dispatcher

En espérant avoir été utile.

Cordialement.