Comment exécuter automatiquement le script shell au démarrage du démarrage sur Systemd Linux

Comment exécuter automatiquement le script shell au démarrage du démarrage sur Systemd Linux

La configuration suivante discutera d'un exemple de base sur la façon d'exécuter le script shell pendant une heure de démarrage sur Systemd Linux. Il y a peut-être divers raisons pour lesquelles vous voudrez peut-être exécuter le script shell pendant le démarrage de Linux, par exemple pour démarrer un service personnalisé particulier, vérifier l'espace disque, créer une sauvegarde, etc.

L'exemple suivant ci-dessous servira de modèle de base à modifier plus tard pour répondre à vos besoins spécifiques. Dans l'exemple ci-dessous, nous vérifierons un espace disque d'un /maison/ répertoire pendant une heure de démarrage et rédiger un rapport à /racine/ annuaire.

Unité de service SystemD

Tout d'abord, nous devons créer un script de démarrage Systemd, par exemple.disque-odeur de disque.serviceet placer dans / etc / systemd / system / annuaire. Vous pouvez trouver l'exemple de ce script de démarrage SystemD ci-dessous:

[Unité] After = mysql.service [service] execstart = / usr / local / bin / disque-espace-véritable.sh [install] wantedBy = par défaut.cible 
  • Après: Instruit Systemd sur le moment où le script doit être exécuté. Dans notre cas, le script s'exécutera après le début de la base de données MySQL. Un autre exemple pourrait être réseau.cible etc.
  • Execstart: ce champ fournit un chemin complet Le script réel à exécuter
  • Recherché: dans quelle cible de démarrage, l'unité Systemd doit être installée

Ce qui précède est un minimum absolu que notre unité de service Systemd doit contenir afin d'exécuter notre script à l'heure de démarrage. Pour plus d'informations et d'options à utiliser systemd.service Page manuelle:

$ man systemd.service 

Script de shell de démarrage

Ensuite, nous créons notre script de shell personnalisé à exécuter pendant le démarrage Systemd. L'emplacement et le nom du script sont déjà définis par l'unité de service comme / usr / local / bin / disque-espace-véritable.shot. Le contenu du script peut être simple comme:

#!/ bin / bash date> / root / disk_space_report.txt du -sh / home / >> / root / disk_space_report.SMS 


Configurer et installer

Avant de redémarrer notre système, nous devons rendre notre script exécutable:

# CHMOD 744 / USR / LOCAL / BIN / DISK-SPACE CHECK.shot 

Ensuite, installez l'unité de service Systemd et activez-la afin qu'elle soit exécutée au moment de démarrage:

# CHMOD 664 / ETC.Service # SystemCTL Daemon-Reload # SystemCTL Activer le disque-espace-véritable.Service a créé SymLink à partir de / etc / systemd / System / par défaut.cible.Vérifiez / disque-disque.Service à / etc / systemd / système / disque-espace-vérification.service. 

Si vous souhaitez tester votre script avant de redémarrer Run:

# SystemCTL Start Disk-Space-Check.service # chat / root / disk_space_report.TXT jeudi 7 juillet 11:30:25 AEST 2016 1.5g / maison / 

Tout prêt. Après avoir redémarré votre système Linux, l'unité Systemd ci-dessus invoquera le script shell à exécuter pendant la période de démarrage.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas
  • Téléchargement Linux
  • Choses à installer sur Ubuntu 22.04
  • Meilleure distribution Linux pour les développeurs
  • Comment imprimer l'arbre du répertoire à l'aide de Linux
  • Système linux hung? Comment s'échapper vers la ligne de commande et…