systemd: Creare un nuovo servizio

Qualche tempo fa abbiamo parlato di systemd, oggi vediamo come creare un nostro unit service per avviare qualcosa tramite systemd.

Ad esempio vogliamo avviare uno script in /home/prova/ chiamato prova.py con utente prova.
Creiamo un nuovo file in /usr/lib/systemd/system/ chiamato prova.service e scriviamoci:

Nel file precedete possiamo evidenziare:

[Unit], determina che questo file è relativa ad una unit per per il servizio

Description un nome generico per il servizio

After=multi-user.target questa riga indica al sistema quando avviare lo script. In questo caso (con la direttiva multi-user.target) informiamo systemd di avviarlo quando il sistema è pronto, dopo il boot, per il login degli utenti. E’ la situazioni tipica per avviare uno script dopo l’avvio del sistema

[Service], indica i dettagli del servizio

Type è la modalità con cui il servizio viene eseguito. simple indica che si tratta di un normale servizio, oppure oneshot indica di eseguire uno script ed uscire. Maggiori dettagli sui tipi sono indicati qui.

ExecStart si tratta del comando da eseguire, nel nostro caso lo script Python

User opzionale, specifica l’utente con cui eseguire lo script, altrimenti viene lanciato con l’utente root

WorkingDirectory opzionale, serve per specificare il runtime environment, eseguendo lo script in una cartella specifica. E’ utile se lo script deve leggere un file, perché la posizione sarà relativa proprio a questa impostazione, piuttosto che dover indicare un percorso assoluto.

Restart=on-failure ci assicuriamo che lo script venga riavviato in caso di crashes/fails. Qui una lista dei possibili valori.

[Install] la sezione che indica quando il servizio va eseguito.

WantedBy=multi-user.target è una riga ridondante che specifica di installare il servizio nel multi-user.target boot level.

Facciamo rileggere gli unit service:

attiviamo il servizio con:

infine attiviamo il servizio con:

Per vedere lo stato del servizio:

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: ,

Commenta