GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit Shell Script jako službu SystemD v Linuxu

Systemd je softwarová aplikace, která poskytuje řadu systémových komponent pro operační systémy Linux. Je to první služba, která inicializuje zaváděcí sekvenci. Toto vždy běží s pid 1. To také pomáhá spravovat systém a aplikační služby v našem operačním systému Linux.

Můžeme také spustit jakýkoli vlastní skript jako službu systemd. Pomáhá skriptu spustit při startu systému. To vám může být užitečné při spouštění libovolného skriptu, který se musí spouštět pouze při spouštění nebo vždy.

V našem předchozím tutoriálu jsme vám poskytli pokyny ke spuštění skriptu Python pomocí Systemd. Tento výukový program zakrývá spuštění skriptu shellu jako službu Systemd.

Krok 1 – Vytvořte skript Shell

Nejprve vytvořte vzorový skript shellu, který se bude spouštět vždy, dokud systém neběží. K neomezenému běhu použijeme bash while.

sudo nano /usr/bin/script.sh 

Přidejte následující ukázkový skript.

Shell
1234567 #!/bin/bash while truedo // Vaše prohlášení jsou zde, spánek 10hotov

Uložte skript a nastavte oprávnění ke spuštění.

sudo chmod +x /usr/bin/script.sh 

Spuštění skriptu jednou během spouštění systému nevyžaduje žádnou nekonečnou smyčku. Namísto výše uvedeného skriptu můžete použít váš shell skript ke spuštění jako služba Systemd.

Krok 2 – Vytvořte soubor SystemD

Dále vytvořte soubor služby pro systemd ve vašem systému. Tento soubor musí mít .service a uloženy pod /lib/systemd/system/ adresář

sudo nano /lib/systemd/system/shellscript.service 

Nyní přidejte následující obsah a aktualizujte název a umístění skriptu. Můžete také změnit popis služby.

[Unit]
Description=My Shell Script

[Service]
ExecStart=/usr/bin/script.sh

[Install]
WantedBy=multi-user.target

Uložte soubor a zavřete jej.

Krok 3 – Povolte novou službu

Vaše systémová služba byla přidána do vaší služby. Znovu načtěte démona systemctl, aby si mohl přečíst nový soubor. Po každém provedení změn v souboru .service musíte tohoto démona znovu načíst.

sudo systemctl daemon-reload 

Nyní povolte spuštění služby při spouštění systému a také spusťte službu pomocí následujících příkazů.

sudo systemctl enable shellscript.service 
sudo systemctl start shellscript.service 

Nakonec ověřte, zda je skript spuštěn a spuštěn jako služba systemd.

sudo systemctl status shellscript.service 

Výstup vypadá následovně:

Závěr

Tento tutoriál vám pomohl nakonfigurovat skript shellu jako službu systemd.


Linux
  1. Jak vytvořit službu Systemd v Linuxu

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

  3. Jak vypsat Systemd Services v Linuxu

  1. Jak zajistit, aby skript Python běžel jako služba nebo démon v Linuxu

  2. Jak spustit skript na pozadí (linux openwrt)?

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

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

  2. Linux – umístění skriptu Fsck?

  3. Jak spustit skript Shell na pozadí?