Spuštění skriptu po startu systému

Spuštění skriptu po startu systému
« kdy: 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.
« Poslední změna: 22. 01. 2024, 17:32:13 od Petr Krčmář »


alex6bbc

  • *****
  • 1 689
    • Zobrazit profil
    • E-mail
Re:Spuštění skryptu po startu systému
« Odpověď #1 kdy: 22. 01. 2024, 16:49:30 »
hledej systemd, init.d

_Jenda

  • *****
  • 1 606
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Spuštění skriptu po startu systému
« Odpověď #2 kdy: 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.

Re:Spuštění skriptu po startu systému
« Odpověď #3 kdy: 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

Re:Spuštění skriptu po startu systému
« Odpověď #4 kdy: 23. 01. 2024, 09:37:40 »
Prosím nějaký example pro pridaní přes systemd.
Děkuji


McFly

  • *****
  • 599
    • Zobrazit profil
    • E-mail

Re:Spuštění skriptu po startu systému
« Odpověď #6 kdy: 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).

Re:Spuštění skriptu po startu systému
« Odpověď #7 kdy: 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

Re:Spuštění skriptu po startu systému
« Odpověď #8 kdy: 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.