Introduction

Dans cet article, nous allons voir comment créer un service systemd qui va s’exécuter automatiquement au démarrage d’une machine. L’IP de ma machine étant renouvelée à chaque redémarrage, je me sers de ce type de service pour mettre à jour automatiquement l’IP publique sur un de mes DNS.


Steps

Créer un fichier /var/tmp/boot_script.sh qui contient le code suivant:

#!/bin/bash
echo "Boot script sample" > /var/log/boot_script.log
echo "Started at `date`" >> /var/log/boot_script.log

Donner au script des droits d’exécution:

chmod +x /var/tmp/boot_script.sh

Créer une nouveau service systemd. Pour ce faire créer un fichier dans le répertoire /etc/systemd/system/ et appelé le boot_script.service par exemple. Insérer le contenu suivant dans votre nouveau fichier:

[Unit]
Description=Description de ce que fait le script ici
After=network.target

[Service]
Type=simple
ExecStart=/var/tmp/boot_script.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

Reloader le process systemd pour que notre nouveau service soit pris en compte:

systemctl daemon-reload

Si vous modifiez ce service, il vous faudra également reloader systemd/


“Activer” le service pour qu’il se lance automatiquement au démarrage de la machine:

systemctl enable boot_script.service

Démarrer le service:

systemctl start boot_script.service

Redémarrer votre machine pour vérifier que tout fonctionne bien.

systemctl reboot