Debian 11 - jak spustit skript při vypínání

Debian 11 - jak spustit skript při vypínání
« kdy: 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í.


Re:Debian 11 - jak spustit skript při vypínání
« Odpověď #1 kdy: 15. 12. 2021, 16:46:36 »

Re:Debian 11 - jak spustit skript při vypínání
« Odpověď #2 kdy: 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í.

Re:Debian 11 - jak spustit skript při vypínání
« Odpověď #3 kdy: 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.

Re:Debian 11 - jak spustit skript při vypínání
« Odpověď #4 kdy: 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)