Dans cet article, vous apprendrez à exécuter un script (python, bash, etc.) au démarrage sur Ubuntu 20.04 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
Comment exécuter un script au démarrage sur Ubuntu 20.04 Focal Fossa KDE Server/Desktop
Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Installation d'Ubuntu 20.04 ou mise à niveau d'Ubuntu 20.04 Focal Fossa |
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 20.04 instructions étape par étape
Ubuntu 20.04 est basé sur Systemd. La manière la plus simple et recommandée d'exécuter un script au démarrage consiste donc à 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.
- Tout d'abord, créez un fichier de service Systemd comme dans l'exemple ci-dessous :
[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 sont
/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
- Activez ensuite 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