Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Linux : exécuter un script ou commande au démarrage (4 façons)

Parfois, on peut avoir besoin d’exécuter un script ou une commande au démarrage de Linux, mais les lancer automatiquement, surtout au démarrage, n’est pas intuitif sous Linux.

Dans ce tutoriel, je vous donne 4 méthodes pour parvenir à ajouter un script ou commande au démarrage de Linux.
Notez pour les utilisateurs Ubuntu qui souhaitez plutôt exécuter un script à l’ouverture de session Ubuntu, suivez ce tutoriel : Ubuntu : ajouter une application au démarrage

Comment lancer un script ou commande au démarrage de Linux

Comment lancer un script ou commande au démarrage de Linux

Par cron

Cron, le gestionnaire de tâches de Linux, permet d’exécuter très facilement une commande ou script au démarrage de Linux.
C’est la méthode la plus simple et universelle à toutes les distributions Linux.
Voici comment faire :

  • Editez les cron avec la commande crontab -e
  • Ajoutez ensuite la ligne suivante :
@reboot /chemin/vers/script
  • Le script s’exécutera au démarrage de votre ordinateur.

Avec rc.local

Cette méthode rc.local très ancienne était disponible sur toutes les distributions.
Il s’agit d’un script qui était automatiquement exécuté au démarrage de Linux.
L’utilisateur peut alors ajouter une entrée pour ajouter ses propres commandes.
Malheureusement, avec l’arrivé de systemD, ce script a été supprimé sur beaucoup de distributions Linux.

Vérifiez que le fichier /etc/rc.local existe, si oui, ajoutez simplement votre script pour qu’il s’exécute au lancement de Linux :

echo "/chemin/script/script.sh" >> /etc/rc.local

Avec init.d

Comme pour la solution précédente, le dossier /etc/init.d contient les exécutables du cycle de vie des services gérés par le système. Nous pouvons également ajouter le nôtre en créant un script monservice conforme à LSB qui démarre notre service :

sudo vim /etc/init.d/monservice

Voici un exemple de contenu, modifiez les commentaires et le chemin du script à exécuter au démarrage de Linux :

#!/bin/bash
### BEGIN INIT INFO
# Provides: MonService
# Required-Start:    $all
# Required-Stop: 
# Default-Start:     5 
# Default-Stop:      6 
# Short-Description: Description du service
### END INIT INFO

/chemin/script/script-au-demarrage.sh

Puis il faut activer le service au démarrage de Linux.
Pour activer le service sur les distributions à base Debian (Ubuntu, Linux Mint, etc), on utilise update-rc.d :

sudo chmod +x /etc/init.d/monservice
sudo update-rc.d monservice defaults

Du côté des distributions Linux à base Redhat comme Fedora, RHL, il faudra utiliser la commande chkconfig :

sudo chmod +x /etc/init.d/monservice
chkconfig --add monservice

La commande chkconfig n’étant pas disponible sur les systèmes Debian, update-rc.d peut être utilisé comme alternative :

Par systemd

Une autre solution pour placer une commande ou script au démarrage de Linux est de créer un service systemd.
Cela peut en outre permettre de faire tourner un daemon.

Nous devons créer un descripteur de service, appelé fichier d’unité, dans /etc/systemd/system :

[Unit]
Description=Service systemd au démarrage Linux

[Service]
Type=simple
ExecStart=/bin/bash /chemin/script/reboot_message.sh

[Install]
WantedBy=multi-user.target

Le fichier est organisé en différentes sections :

  • Unit – contient des métadonnées générales, comme une description lisible par l’homme
  • Service – décrit le processus et le comportement de démonisation, ainsi que la commande pour démarrer le service
  • Install – permet au service de s’exécuter au démarrage en utilisant le dossier spécifié dans WantedBy pour gérer les dépendances

Ensuite, nous devons définir les permissions du fichier à 644 et activer notre service à l’aide de systemctl :

chmod 644 /etc/systemd/system/reboot_message.service
systemctl enable reboot_message.service


Plus de détails :

Comment créer un service Linux (systemd)

L’article Linux : exécuter un script ou commande au démarrage (4 façons) est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires