Automatizzare l’Esecuzione di Script Python con Systemd su Linux

L’automatizzazione dell’avvio di script Python su Linux può essere gestita efficacemente attraverso Systemd, un sistema di init moderno. In questo articolo, ti guideremo attraverso il processo di creazione di un servizio Systemd per eseguire automaticamente uno script Python al momento del boot del sistema.

Creare uno Script Python

Per prima cosa, creiamo uno script Python di esempio che vogliamo eseguire. Chiamiamolo myscript.py:

#!/usr/bin/env python3

print("Hello, systemd!")

Assicurati di renderlo eseguibile con il comando:

chmod +x myscript.py

Creare un File di Servizio Systemd

Ora, creiamo un file di servizio Systemd per il nostro script. Chiamiamolo myscript.service:

[Unit]
Description=My Python Script

[Service]
ExecStart=/path/to/myscript.py
WorkingDirectory=/path/to/script/directory
User=your_username
Group=your_groupname
Restart=always

[Install]
WantedBy=default.target

Sostituisci /path/to/myscript.py e /path/to/script/directory con i percorsi effettivi del tuo script e della sua directory. Modifica anche your_username e your_groupname con il tuo nome utente e il nome del tuo gruppo.

Muovi il file di servizio nella directory Systemd:

sudo mv myscript.service /etc/systemd/system/

Ricarica Systemd per leggere il nuovo servizio:

sudo systemctl daemon-reload

Abilita il servizio per avviarsi all’avvio del sistema:

sudo systemctl enable myscript.service

Avviare il Servizio

Ora, puoi avviare il tuo servizio:

sudo systemctl start myscript.service

Puoi verificare lo stato del servizio per assicurarti che si stia eseguendo correttamente:

sudo systemctl status myscript.service

Risolvere Problemi di Avvio

Se incontri problemi durante l’avvio del servizio, esamina i log di sistema per identificare la causa:

journalctl -xe | grep myscript

In caso di errori, controlla i permessi degli script e delle directory coinvolte, verifica che il percorso a Python nello shebang sia corretto e assicurati che il tuo script sia effettivamente eseguibile.

Facendo attenzione a questi dettagli, dovresti essere in grado di automatizzare con successo l’esecuzione del tuo script Python utilizzando Systemd su Linux.

Share your thoughts