Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: rabbizon 15. 12. 2021, 16:36:47

Název: Debian 11 - jak spustit skript při vypínání
Přispěvatel: rabbizon 15. 12. 2021, 16:36:47
Zdravím, mám Debian 11 a nemůžu přijít na to, jak spustit skript při shutdown/reboot.

Našel jsem návod, dle kterého jsem vytvořil skriptový soubor „test“ v etc/init.d a jeho symlinky s názvem K01_test do rc0.d a rc6.d. Nastavil chmod a+x ale skript se při vypínání nespustí.
Název: Re:Debian 11 - jak spustit skript při vypínání
Přispěvatel: Jan Fikar 15. 12. 2021, 16:46:36
je potřeba hledat návod pro systemd, třebas https://askubuntu.com/questions/952363/how-do-i-properly-run-this-systemd-service-on-shutdown (https://askubuntu.com/questions/952363/how-do-i-properly-run-this-systemd-service-on-shutdown)
Název: Re:Debian 11 - jak spustit skript při vypínání
Přispěvatel: Petr Krčmář 15. 12. 2021, 16:54:17
Služba systemd-halt.service automaticky při vypínání spouští skripty v /usr/lib/systemd/system-shutdown/. Stačí si tedy napsat svůj skript. Pozor ale na to, že v téhle fázi bývá už většina služeb vypnutá a třeba i kořenový svazek je přepnutý do režimu pouze pro čtení.
Název: Re:Debian 11 - jak spustit skript při vypínání
Přispěvatel: LarryLin 15. 12. 2021, 17:21:10
Služba systemd-halt.service automaticky při vypínání spouští skripty v /usr/lib/systemd/system-shutdown/. Stačí si tedy napsat svůj skript. Pozor ale na to, že v téhle fázi bývá už většina služeb vypnutá a třeba i kořenový svazek je přepnutý do režimu pouze pro čtení.
Ano je to tak. Kdysi jsem s tím taky bojoval a nakonec jsem si musel vytvořit novu službu systemd a script, který se má ukončit při vypínání uvést do ExecStop.
Název: Re:Debian 11 - jak spustit skript při vypínání
Přispěvatel: rabbizon 15. 12. 2021, 17:30:27
Moc díky. Funguje.

Vytvořil jsem tedy pouze soubor test do složky etc/init.d
a do něj přidal (teda opsal z jiné služby)
Kód: [Vybrat]
### BEGIN INIT INFO
# Provides:          test
# Required-Start:    $all
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Test service
# Description: only test
### END INIT INFO

A použil příkazy                         
Kód: [Vybrat]
update-rc.d test defaults
systemctl enable test       

Bylo tedy nutné ještě smazat původní symlinky (update-rc je poté vytvořil sám)