Comment exécuter automatiquement les commandes / scripts pendant le redémarrage ou le démarrage

Comment exécuter automatiquement les commandes / scripts pendant le redémarrage ou le démarrage

Je suis toujours fasciné par les choses qui se passent dans les coulisses lorsque je démarre un système Linux et me connecte. En appuyant sur le bouton d'alimentation sur un métal nu ou en démarrant une machine virtuelle, vous mettez en mouvement une série d'événements qui mènent à un système entièrement fonctionnel - parfois en moins d'une minute. Il en va de même lorsque vous vous déconnectez et / ou fermez le système.

Ce qui rend cela plus intéressant et plus amusant, c'est le fait que vous pouvez demander au système d'exploitation exécuter certaines actions lorsqu'elle est en bottes et lorsque vous vous connectez ou se déconnectez-vous.

Dans cet article agnostique de la distribution, nous discuterons des méthodes traditionnelles pour atteindre ces objectifs dans Linux.

Note: Nous supposerons l'utilisation de Frapper En tant que shell principal pour les événements de connexion et de déconnexion. Si vous en utilisez un autre, certaines de ces méthodes peuvent fonctionner ou non. En cas de doute, reportez-vous à la documentation de votre coquille.

Exécuter les scripts Linux pendant le redémarrage ou le démarrage

Il existe deux méthodes traditionnelles pour exécuter une commande ou exécuter des scripts pendant le démarrage:

Méthode n ° 1 - Utilisez un travail cron

Outre le format habituel (minute / heure / jour de mois / mois / jour de semaine) qui est largement utilisé pour indiquer un horaire, Cron Scheduler permet également l'utilisation de l'utilisation de @reboot. Cette directive, suivie du chemin absolu vers le script, le fera fonctionner lorsque la machine bottait.

Cependant, il y a deux mises en garde à cette approche:

  1. un) Le démon cron doit être en cours d'exécution (ce qui est le cas dans des circonstances normales), et
  2. b) Le script ou le fichier crontab doit inclure les variables d'environnement (le cas échéant) qui seront nécessaires (reportez-vous à ce thread StackOverflow pour plus de détails).

Méthode n ° 2 - Utilisation / etc / RC.d / rc.local

Cette méthode est valable même pour les distributions basées sur Systemd. Pour que cette méthode fonctionne, vous devez accorder des autorisations d'exécution pour / etc / rc.d / rc.local comme suit:

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

et ajoutez votre script en bas du fichier.

L'image suivante montre comment exécuter deux exemples de scripts (/ home / gacanepa / script1.shot et / home / gacanepa / script2.shot) utilisant un cron travail et RC.local, respectivement, et leurs résultats respectifs.

script1.SH:
#!/ bin / bash date = $ (date + '% f% h:% m:% s') dir = / home / gacanepa echo "date et heure actuelles: $ date"> $ dir / file11.SMS 
script2.SH:
#!/ bin / bash site = "tecmint.com "dir = / home / gacanepa echo" $ site rocks… ajoutez-nous à vos signets."> $ Dir / file2.SMS 
Exécutez les scripts Linux au démarrage

Gardez à l'esprit que les deux scripts doivent être accordés auparavant des autorisations d'exécution:

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

Exécution de scripts Linux à la connexion et déconnexion

Pour exécuter un script à la connexion ou une déconnexion, utilisez ~.bash_profile et ~.bash_logout, respectivement. Très probablement, vous devrez créer ce dernier fichier manuellement. Déposez simplement une ligne invoquant votre script au bas de chaque fichier de la même manière qu'auparavant et vous êtes prêt à partir.

Résumé

Dans cet article, nous avons expliqué comment exécuter le script sur le redémarrage, la connexion et la déconnexion. Si vous pouvez penser à d'autres méthodes que nous aurions pu inclure ici, n'hésitez pas à utiliser le formulaire de commentaire ci-dessous pour les signaler. Nous avons hâte d'avoir de tes nouvelles!