Le but de cet article est de configurer un script tel qu'un script Bash ou un script Python pour qu'il s'exécute au démarrage du système dans Ubuntu 22.04 Jammy Jellyfish Server/Desktop.
Dans ce didacticiel, vous apprendrez :
- Comment créer une unité de service Systemd
- Comment créer un script simple de vérification de l'espace disque
- Comment définir les autorisations sur le fichier d'unité de service Systemd
- Comment définir les autorisations de script
- Comment activer l'unité de service Systemd pour qu'elle s'exécute au démarrage du système
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Ubuntu 22.04 Jammy Jellyfish |
Logiciel | N/A |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Comment exécuter un script au démarrage sur Ubuntu 22.04 instructions étape par étape
Ubuntu 22.04 est basé sur Systemd. La manière la plus simple et la plus recommandée d'exécuter un script au démarrage consiste à créer un fichier de service Systemd et à exécuter n'importe quel script tel que bash, python, etc., via ce service lors du démarrage du système.
Les étapes ci-dessous vous montreront comment exécuter un exemple de script bash qui signale l'utilisation de l'espace disque de /home
répertoire et enregistre le rapport dans le répertoire /root
répertoire à chaque démarrage du système Ubuntu 22.04.
- Tout d'abord, créez un fichier de service Systemd comme dans l'exemple ci-dessous. Nous stockerons ce fichier sous
/etc/systemd/system/disk-space-check.service
.[Unit] After=network.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.target
Après :indique à systemd quand le script doit être exécuté. Dans notre cas, le script s'exécutera après la connexion au réseau. Un autre exemple pourrait être mysql.target etc.
ExecStart :Ce champ fournit un chemin complet vers le script réel à exécuter au démarrage
WantedBy :dans quelle cible de démarrage l'unité systemd doit être installéeREMARQUE
Pour plus d'informations sur la création d'une unité de service Systemd, exécutez leman systemd.unit
commande. - Créez un script à exécuter au démarrage du système Ubuntu. Comme spécifié dans l'étape 1 ci-dessus, le chemin et le nom du nouveau script dans notre exemple seront
/usr/local/bin/disk-space-check.sh
.Voici un exemple d'un tel script :
#!/bin/bash date > /root/disk_space_report.txt du -sh /home/ >> /root/disk_space_report.txt
- Définissez les autorisations appropriées pour l'unité de service Systemd et le script :
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh $ sudo chmod 664 /etc/systemd/system/disk-space-check.service
- Ensuite, activez l'unité de service :
$ sudo systemctl daemon-reload $ sudo systemctl enable disk-space-check.service
- Vous êtes maintenant prêt à redémarrer votre système. Une fois le système démarré, vous devriez voir le fichier suivant contenant l'utilisation de l'espace disque dans votre
/root
répertoire :$ sudo ls /root/ disk_space_report.txt
Réflexions finales
Dans ce tutoriel, nous avons vu comment configurer Ubuntu 22.04 pour exécuter un script à chaque démarrage du système. Il s'agit d'une fonctionnalité pratique que les administrateurs système doivent implémenter pour s'assurer qu'un script Bash ou Python est exécuté à chaque chargement d'Ubuntu à partir d'un redémarrage du système.