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.
Shell1234567 | #!/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.