Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: Sinuhed 22. 01. 2024, 16:45:33

Název: Spuštění skriptu po startu systému
Přispěvatel: Sinuhed 22. 01. 2024, 16:45:33
Dobrý den,
 jak na spuštění skriptu po startu systému?
 Nacházím jen návody, jak to udělat v GUI a pod loginem uživatelem.

Předem děkuji.
Název: Re:Spuštění skryptu po startu systému
Přispěvatel: alex6bbc 22. 01. 2024, 16:49:30
hledej systemd, init.d
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: _Jenda 22. 01. 2024, 17:42:59
Přidej ho do /etc/rc.local (pokud neexistuje tak vytvoř a nastav spustitelný). Pak pro případnou diagnostiku systemctl status rc-local, journalctl -u rc-local.
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: Pavel Rauš 22. 01. 2024, 19:47:49
Dobrý den,
 jak na spuštění skriptu po startu systému?
 Nacházím jen návody, jak to udělat v GUI a pod loginem uživatelem.

Předem děkuji.

Nejčistější bude systemd unita. Nejjednodušší dát to cronu a místo času dát @reboot
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: Sinuhed 23. 01. 2024, 09:37:40
Prosím nějaký example pro pridaní přes systemd.
Děkuji
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: McFly 23. 01. 2024, 09:56:26
https://askubuntu.com/questions/919054/how-do-i-run-a-single-command-at-startup-using-systemd

osobně preferuju rc.local
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: AtomicFS 23. 01. 2024, 10:20:27
Doporucuju se vzdy podivat na archlinux wiki.
https://wiki.archlinux.org/title/Systemd

Priklad velice jednoducheho systemd service:

Kód: [Vybrat]
[Unit]
Description=Play music on boot

[Service]
User=beep
Group=beep
Type=oneshot
ExecStart=/usr/bin/beep-song

[Install]
WantedBy=multi-user.target

A pokud by to melo byt trochu vic fancy, tak zde je i nejakej hardening:

Kód: [Vybrat]
[Unit]
Description=Play music on boot

[Service]
User=beep
Group=beep
Type=oneshot
ExecStart=/usr/bin/beep-song

# Hardening
ProtectSystem=full
ProtectHome=true
#PrivateDevices=true
PrivateMounts=true
PrivateTmp=true

RestrictSUIDSGID=true
NoNewPrivileges=true

ReadOnlyPaths=/

[Install]
WantedBy=multi-user.target

Soubor patri na lokaci
Kód: [Vybrat]
/etc/systemd/system/boot-music.service a pak staci zapnout pomoci systemd:
Kód: [Vybrat]
systemctl enable boot-music
Toto vsechno bylo pro systemove serivsy, ale je mozne delat i uzovatelske servisy co jsou v domovskem adresari uzivatele (https://wiki.archlinux.org/title/Systemd/User).
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: zu1234 24. 01. 2024, 09:18:04
Jsem už takový dědek, když bych se to snažil řešit přes crontab?
Například: https://phoenixnap.com/kb/crontab-reboot
Název: Re:Spuštění skriptu po startu systému
Přispěvatel: AtomicFS 24. 01. 2024, 17:22:14
Jsem už takový dědek, když bych se to snažil řešit přes crontab?
Například: https://phoenixnap.com/kb/crontab-reboot

Asi ne, ale já rád používám systemd services protože mi to dává velikou kontrolu nad procesem samotným. Dovoluje mi to nastavit permissions, restart conditions, atd.

A když skloubím boot-music.service s boot-music.timer, tak mám vše co dokáže Cron a víc.