GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter un script avant tout le reste à l'arrêt avec systemd ?

Pas besoin de créer ou de modifier des fichiers de service. Déposez simplement votre script dans

/usr/lib/systemd/system-shutdown/

https://www.freedesktop.org/software/systemd/man/systemd-halt.service.html

Immédiatement avant d'exécuter le système réel, halt/poweroff/reboot/kexec systemd-shutdown exécutera tous les exécutables dans /usr/lib/systemd/system-shutdown/ et leur transmettra un argument :soit "halt", "poweroff", "reboot " ou "kexec", selon l'action choisie. Tous les exécutables de ce répertoire sont exécutés en parallèle et l'exécution de l'action ne se poursuit pas tant que tous les exécutables ne sont pas terminés.

Je l'utilise simplement pour émettre un bip sur le haut-parleur du PC.


J'ai compris !

Prendre la solution Processus de longue durée avec StopExec et modifiez-le comme ceci :

autobackup.service :

[Unit]
Description=Slow backup script
RequiresMountsFor=/mnt/BACKUP /home

[Service]
ExecStop=/etc/systemd/system/do_backup.sh
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Notez la ligne :

RequiresMountsFor=/mnt/BACKUP /home

Cela fonctionne comme prévu de cette façon.


Linux
  1. Linux - Comment exécuter un script avec Systemd juste avant l'arrêt ?

  2. Comment écrire un script de démarrage pour Systemd ?

  3. Linux - Comment obtenir moins de Ttys avec Systemd ?

  4. Comment obtenir moins de ttys avec Systemd ?

  5. Configuration du service Systemd pour qu'il s'exécute avec un accès root

Comment exécuter des conteneurs en tant que service Systemd avec Podman

Comment exécuter un script Shell en tant que service Systemd sous Linux

Comment exécuter des pods en tant que services systemd avec Podman

Comment configurer l'exécution automatique d'un script Python à l'aide de Systemd

Comment exécuter un script Shell en tant que service SystemD sous Linux

Comment exécuter un script bash