GNU/Linux >> Znalost Linux >  >> Linux

Jak spustím skript před vším ostatním při vypnutí pomocí systemd?

Není třeba vytvářet nebo upravovat soubory služeb. Jednoduše vložte svůj skript do

/usr/lib/systemd/system-shutdown/

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

Bezprostředně před provedením samotného systému halt/poweroff/reboot/kexec systemd-shutdown spustí všechny spustitelné soubory v /usr/lib/systemd/system-shutdown/ a předá jim jeden argument:buď "halt", "poweroff", "reboot" " nebo "kexec", v závislosti na zvolené akci. Všechny spustitelné soubory v tomto adresáři jsou spouštěny paralelně a provádění akce nepokračuje, dokud nejsou dokončeny všechny spustitelné soubory.

Používám jej k jednoduchému pípnutí reproduktoru počítače.


Mám to!

Vezměte řešení Dlouho běžící proces s StopExec a upravte jej takto:

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

Všimněte si řádku:

RequiresMountsFor=/mnt/BACKUP /home

Funguje to podle očekávání tímto způsobem.


Linux
  1. Jak napsat spouštěcí skript pro Systemd?

  2. Linux – Spouštět skript každých 30 minut pomocí Systemd?

  3. Jak nakonfigurovat Systemd tak, aby jednoduchý skript pomocí Standardio převedl do síťové služby?

  1. Jak spustit skript s systemd těsně před vypnutím?

  2. Jak získat méně ttys pomocí Systemd?

  3. Konfigurace služby Systemd pro spuštění s přístupem root

  1. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  2. Linux – Jak spustit skript pomocí Systemd těsně před vypnutím?

  3. Linux – jak získat méně Ttys s Systemd?