Comment exécuter automatiquement un script shell au démarrage sur systemd Linux
L’automatisation des tâches à exécuter lors du démarrage du système est essentielle dans de nombreux environnements de serveurs. Ce guide couvre la configuration d’une unité de service systemd pour exécuter un script shell personnalisé au moment du démarrage pour des tâches telles que le démarrage de services, la vérification de l’espace disque ou la création de sauvegardes.
Dans ce tutoriel, vous allez apprendre :
- Comment créer une unité de service systemd
- Comment écrire un script shell pour vérifier l’espace disque
- Comment configurer et activer le service systemd pour qu’il s’exécute au démarrage
Unité de service Systemd
Créer le fichier de service systemd : commencez par créer le fichier d’unité de service systemd. Stockez le fichier de service sous le nom
/etc/systemd/system/disk-space-check.service.[Unit] Description=Check Disk Space on /home directory at Startup After=mysql.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.targetÉcrire le script shell : Écrivez le script shell que le service systemd exécutera. Stockez le certificat sous la forme
/usr/local/bin/disk-space-check.sh.#!/bin/bash echo "Checking disk space on /home directory:" date > /root/disk_space_report.txt du -sh /home/ >> /root/disk_space_report.txtCe script écrit la date du jour dans un fichier et y ajoute l’utilisation de l’espace disque du répertoire /home.
Définir les autorisations et activer le service : définissez les autorisations nécessaires et activez l’exécution du service systemd au démarrage.
sudo chmod 744 /usr/local/bin/disk-space-check.sh sudo chmod 664 /etc/systemd/system/disk-space-check.service sudo systemctl daemon-reload sudo systemctl enable disk-space-check.serviceTester le service Systemd : vérifiez que le script fonctionne en démarrant manuellement le service.
sudo systemctl start disk-space-check.service sudo cat /root/disk_space_report.txtExécutez le service manuellement à l’aide de la commande
systemctl start. Après avoir exécuté le service, vérifiez le contenu du rapport d’espace disque en consultant le fichierdisk_space_report.txtsitué dans le répertoire/root/. Ce fichier doit contenir la date et l’utilisation de l’espace disque du répertoire/home/, confirmant que le script s’est exécuté avec succès.
Ce script configure un service qui s’exécutera après le démarrage du service MySQL, en exécutant un script pour vérifier l’espace disque.
Ces commandes rendent le script exécutable, définissent les autorisations appropriées pour le fichier de service, rechargent la configuration du gestionnaire systemd et permettent au service de démarrer au démarrage.
Conclusion
En suivant ces étapes, votre système Linux effectuera automatiquement les vérifications spécifiées au moment du démarrage, ce qui facilitera la maintenance et la surveillance automatisées sans nécessiter d’intervention manuelle.

