GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire lo script della shell come servizio SystemD in Linux

Systemd è un'applicazione software che fornisce una serie di componenti di sistema per i sistemi operativi Linux. È il primo servizio che inizializza la sequenza di avvio. Funziona sempre con pid 1. Questo aiuta anche a gestire il sistema e il servizio applicativo sul nostro sistema operativo Linux.

Possiamo anche eseguire qualsiasi script personalizzato come servizio systemd. Aiuta lo script ad avviarsi all'avvio del sistema. Questo può essere utile per eseguire qualsiasi script che richiede di essere eseguito solo all'avvio o di essere eseguito sempre.

Nel nostro tutorial precedente ti abbiamo fornito le istruzioni per eseguire uno script Python usando Systemd. Questo tutorial copre l'esecuzione di uno script di shell come servizio Systemd.

Fase 1:crea uno script di shell

Prima di tutto, crea uno script di shell di esempio da eseguire sempre finché il sistema non è in esecuzione. Useremo bash while loop per funzionare all'infinito.

sudo nano /usr/bin/script.sh 

Aggiungi il seguente script di esempio.

Shell
1234567 #!/bin/bash while truedo // Le tue affermazioni vanno qui sleep 10done

Salva lo script e imposta il permesso di esecuzione.

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

Per eseguire uno script una volta durante l'avvio del sistema non è necessario alcun ciclo infinito. Invece dello script precedente, puoi utilizzare lo script della shell per l'esecuzione come servizio Systemd.

Fase 2:crea un file SystemD

Quindi, crea un file di servizio per il systemd sul tuo sistema. Questo file deve avere .service estensione e salvato sotto /lib/systemd/system/ directory

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

Ora aggiungi il seguente contenuto e aggiorna il nome e il percorso del file di script. Puoi anche modificare la descrizione del servizio.

[Unit]
Description=My Shell Script

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

[Install]
WantedBy=multi-user.target

Salva il file e chiudilo.

Fase 3:abilita il nuovo servizio

Il tuo servizio di sistema è stato aggiunto al tuo servizio. Ricarichiamo il demone systemctl per leggere il nuovo file. Devi ricaricare questo demone ogni volta dopo aver apportato modifiche al file .service.

sudo systemctl daemon-reload 

Ora abilita l'avvio del servizio all'avvio del sistema, avvia anche il servizio utilizzando i seguenti comandi.

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

Infine, verifica che lo script sia attivo e funzionante come servizio systemd.

sudo systemctl status shellscript.service 

L'output è simile al seguente:

Conclusione

Questo tutorial ti ha aiutato a configurare uno script di shell come servizio systemd.


Linux
  1. Come creare un servizio Systemd in Linux

  2. Linux:come eseguire uno script con Systemd subito prima dell'arresto?

  3. Come elencare i servizi Systemd in Linux

  4. Come si esegue uno script all'accesso in *nix?

  5. Come eseguire uno script con systemd subito prima dell'arresto?

Come eseguire container come servizio Systemd con Podman

Come eseguire il comando / script della shell di Linux in background

Come eseguire Windows 95 su Linux

Come eseguire lo script della shell come servizio Systemd in Linux

Come memorizzare un comando Linux come variabile nello script della shell

Come creare ed eseguire uno script di shell in Ubuntu 22.04