Maison  >  Article  >  Tutoriel système  >  Explication détaillée sur la façon d'exécuter automatiquement des commandes ou des scripts au démarrage de Linux

Explication détaillée sur la façon d'exécuter automatiquement des commandes ou des scripts au démarrage de Linux

王林
王林avant
2024-02-11 15:30:04946parcourir

J'ai toujours été curieux de savoir ce qui se passe pendant le processus de démarrage d'un système Linux et de connexion. En appuyant sur le bouton d'alimentation ou en lançant une machine virtuelle, vous initiez une chaîne d'événements qui vous mèneront à un système entièrement fonctionnel, parfois en moins d'une minute. La même chose est vraie lorsque vous vous déconnectez ou éteignez votre ordinateur.

详解在 Linux 启动时,如何自动执行命令或脚本

J'ai toujours été curieux de savoir ce qui se passe pendant le processus de démarrage d'un système Linux et de connexion. En appuyant sur le bouton d'alimentation ou en lançant une machine virtuelle, vous initiez une chaîne d'événements qui vous mèneront à un système entièrement fonctionnel, parfois en moins d'une minute. La même chose est vraie lorsque vous vous déconnectez ou éteignez votre ordinateur.

Ce qui est plus intéressant, c'est que vous pouvez également demander au système d'effectuer des opérations spécifiques au démarrage du système et lorsque l'utilisateur se connecte ou se déconnecte.

Dans cet article, nous explorerons les méthodes traditionnelles pour atteindre ces objectifs dans le système d'exploitation Linux.

Remarque : Nous supposons que nous utilisons Bash comme shell principal pour la connexion et la déconnexion. Si vous utilisez un autre shell, certaines méthodes risquent de ne pas fonctionner. Si vous avez d'autres questions, veuillez vous référer à la documentation Shell correspondante.

Exécuter des scripts Linux au démarrage

Il existe deux manières traditionnelles d'exécuter des commandes ou des scripts au démarrage :

Méthode n°1 – Utiliser les tâches cron

En plus des formats courants (minute/heure/jour/mois/semaine), le planificateur cron prend également en charge la commande @reboot. Le paramètre après cette commande est le chemin absolu du script (le script à exécuter au démarrage). Il y a cependant deux points à noter avec cette approche :

  • a) Le démon cron doit être en cours d'exécution (généralement, il sera en cours d'exécution), et
  • b) Le script ou le fichier crontab doit contenir les variables d'environnement requises (le cas échéant, voir StackOverflow pour plus de détails).

Méthode n°2 – Utilisation de /etc/rc.d/rc.local

Cette méthode est également valable pour la distribution Linux basée sur systemd. Cependant, pour utiliser cette méthode, vous devez accorder l'autorisation d'exécution au fichier /etc/rc.d/rc.local :

# chmod +x /etc/rc.d/rc.local

Ajoutez ensuite le script en bas de ce fichier.

La figure ci-dessous illustre comment exécuter deux exemples de scripts (/etc/rc.d/rc.local/home/gacanepa/script1.sh et /home/gacanepa/script2.sh) à l'aide de tâches cron et rc.local respectivement.
script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh :

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
详解在 Linux 启动时,如何自动执行命令或脚本

*Exécuter le script Linux au démarrage*

N'oubliez pas d'accorder à l'avance les autorisations d'exécution aux deux exemples de scripts :

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

Exécuter des scripts Linux lors de la connexion ou de la déconnexion

Pour exécuter des scripts lors de la connexion ou de la déconnexion, vous devez utiliser respectivement les fichiers ~.bash_profile et ~.bash_profile. Dans la plupart des cas, ce dernier doit être créé manuellement. Au bas de chaque fichier, ajoutez le code du script appelant, comme indiqué dans l'exemple précédent, pour obtenir cette fonctionnalité.

Résumé

Cet article explique principalement comment exécuter des scripts lors du démarrage, de la connexion et de la déconnexion du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer