L’esecuzione di script all’avvio del sistema è una funzionalità comune richiesta per automatizzare compiti come la configurazione di rete, l’avvio di servizi personalizzati, o qualsiasi altro compito che deve essere eseguito subito dopo l’avvio del sistema. In Debian 11, ci sono diversi metodi per realizzare questa operazione, ciascuno adatto a differenti scenari di utilizzo. In questa guida, esploreremo alcuni dei metodi più comuni per eseguire uno script all’avvio in Debian 11.
Metodo 1: Utilizzo di systemd
systemd
è il sistema di init e il sistema manager di sistema predefinito in Debian 11. È possibile creare un “servizio” systemd
per eseguire uno script all’avvio.
- Crea uno Script: Prima di tutto, scrivi lo script che vuoi eseguire all’avvio. Per esempio, salvalo come
/usr/local/bin/mio-script.sh
e rendilo eseguibile con il comando chmod +x /usr/local/bin/mio-script.sh
.
- Crea un File di Servizio
systemd
: Crea un nuovo file di servizio systemd
in /etc/systemd/system/
, ad esempio mio-script.service
, usando il tuo editor di testo preferito:
sudo nano /etc/systemd/system/mio-script.service
- Inserisci il Contenuto del File di Servizio: Aggiungi il seguente contenuto al file di servizio:
[Unit]
Description=Mio Script all'Avvio
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mio-script.sh
[Install]
WantedBy=multi-user.target
Questo file di configurazione definisce un nuovo servizio chiamato “Mio Script all’Avvio” che verrà eseguito dopo che la rete è disponibile.
- Abilita il Servizio: Per fare in modo che lo script venga eseguito all’avvio, abilita il servizio con il comando:
sudo systemctl enable mio-script.service
- Avvia il Servizio: (Opzionale) Se vuoi avviare lo script immediatamente senza riavviare, usa:
sudo systemctl start mio-script.service
Metodo 2: Utilizzo di cron
Un altro metodo per eseguire uno script all’avvio è utilizzare cron
, il demone dei lavori pianificati in Linux.
- Apri la Tabella
crontab
:
- Aggiungi un Lavoro
@reboot
: Aggiungi la seguente riga alla fine del file crontab
:
@reboot /usr/local/bin/mio-script.sh
Questo farà sì che cron
esegua lo script /usr/local/bin/mio-script.sh
ad ogni riavvio del sistema.
Metodo 3: Utilizzo di /etc/rc.local
Anche se questo metodo è considerato deprecato e meno affidabile rispetto ai precedenti, su alcuni sistemi potrebbe essere ancora utilizzato.
- Crea/Edita il File
rc.local
: Se non esiste, crea un file rc.local
in /etc/rc.local
:
- Aggiungi lo Script: Aggiungi il comando per eseguire il tuo script prima della riga
exit 0
:
/usr/local/bin/mio-script.sh
exit 0
- Rendi
rc.local
Eseguibile: Assicurati che il file sia eseguibile:
sudo chmod +x /etc/rc.local
Conclusione
Ci sono diversi modi per eseguire uno script all’avvio in Debian 11, ognuno con i suoi pro e contro. L’utilizzo di systemd
è il metodo più moderno e flessibile, consigliato per la maggior parte degli scenari. cron
offre una soluzione semplice e diretta, specialmente per gli script che non dipendono da altri servizi. L’uso di /etc/rc.local
, sebbene deprecato, può essere ancora un’opzione in alcuni casi specifici. Scegli il metodo che si adatta meglio alle tue esigenze.