Come Eseguire uno Script all’avvio di Linux da Terminale

In questa guida voglio mostrarti due metodi per eseguire uno script all’avvio di Linux usando il terminale

 

Innanzitutto, cos’è uno script?

Uno script è, molto semplicemente, un file di testo contenente una serie di comandi corrispondenti ad operazioni da eseguire, che vengono poi interpretati e portati a termine da un altro programma.

Piccola premessa: questa guida è finalizzata ad insegnarti come puoi eseguire uno script all’avvio del sistema usando il terminale Linux, per poter eseguire con successo i comandi che ti mostrerò, devi avviare il terminale come super user (o utente root) in modo da avere i poteri necessari per eseguire tali comandi. Se non sai come attivare l’utente root sul tuo terminale Linux, leggi questa guida che ho scritto apposta: Come Utilizzare il Terminale di Linux Con L’Utente Root.

Vediamo quindi quali sono i due metodi con cui puoi eseguire uno script all’avvio di Linux.

 

METODO 1: AGGIUNGERE LO SCRIPT ALLA CARTELLA INIT.D


Come primo metodo per eseguire uno script all’avvio di Linux prenderemo in considerazione la cartella init.d. In questa cartella sono contenuti tutti gli script che vengono eseguiti all’avvio del sistema.

Vediamo insieme i passaggi necessari:

 

  • Per prima cosa, se non lo hai già fatto, devi creare lo script che vuoi sia lanciato all’avvio del sistema:

sudo nano /etc/init.d/nomescript.sh

Ovviamente al posto di nomescript.sh metti il nome che vuoi dare al tuo script (es. avvioprogramma.sh). Digita all’interno del file .sh la serie di comandi che desideri vengano eseguiti all’avvio, poi salva e chiudi il file.

 

  • Una volta terminate le modifiche del tuo file .sh, devi renderlo eseguibile:

sudo chmod +x /etc/init.d/nomescript.sh

 

  • Il file è ora pronto per essere lanciato, non ti resta che aggiornare la lista dei servizi che partiranno all’avvio:

sudo update-rc.d iltuoscript.sh defaults

 

  • A questo punto non ti resta che riavviare e verificare che lo script venga effettivamente eseguito all’avvio.

Se lo script che hai inserito non si avvia, ti consiglio di verificare la correttezza dei comandi che hai inserito al suo interno, magari prova ad eseguirli direttamente da riga di comando per verificare che effettivamente funzionino.

Se dopo varie prove continua a non eseguirsi all’avvio del sistema, passa pure al prossimo metodo.

 

METODO 2: AGGIUNGERE LO SCRIPT AL FILE RC.LOCAL


Se hai provato il primo metodo ma non sei riuscito ad eseguire lo script all’avvio, ti mostro un secondo modo per poter fare la stessa operazione: Utilizzare il file rc.local.

Per spiegarti questo secondo metodo prenderò come esempio che tu non abbia il file rc.local nella cartella /etc. Quindi ti farò vedere come puoi crearlo e qual’è il contenuto standard che dovrebbe avere al suo interno questo file.

  • Cominciamo con la creazione del file rc.local:

sudo nano /etc/rc.local

 

  • Aggiungi le seguenti righe all’interno del file: (copiale ed incollale direttamente all’interno del file)

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0

 

  • A questo punto devi inserire i comandi che vuoi siano eseguiti all’avvio del sistema, che andranno inseriti tra l’ultima riga commentata (cioè con il #) e la riga exit 0 (che termina lo script).

 

Ti faccio vedere un esempio:

 

  • A questo punto non devi far altro che rendere eseguibile lo script:

sudo chmod +x /etc/rc.local

 

  • Adesso non ti resta che riavviare e verificare che lo script venga effettivamente eseguito all’avvio.

Spero che grazie a questa guida tu sia riuscito a creare ed eseguire uno script all’avvio di Linux!

 

Se dovessi avere domande, qualcosa non ti è chiaro o vuoi semplicemente darmi la tua opinione a riguardo lasciami pure un commento qui sotto.

Se hai trovato questa guida interessante e vorresti ricevere aggiornamenti sui prossimi post, iscriviti al blog QUI o condividi l’articolo tramite uno dei pulsanti qui sotto!

Per ripagarmi dell’impegno che ho messo per scrivere questo ed altri articoli ti basta un click. Mi farai un grande favore, Grazie!

 

3 commenti su “Come Eseguire uno Script all’avvio di Linux da Terminale

  1. Il metodo 1 ha funzionato alla perfezione.
    Articolo non troppo dispersivo e che arriva subito al punto, complimenti.

  2. ho un problema strano: ho provato ad avviare uno script python dalla cartelli init.d, se lo richiamo con “python /home/pi/mio_script.py” va perfettamente, se scrivo “sudo python /home/pi/mio_script.py” mi dice “ImportError: No module named telepot” che utilizzi nel mio script appunto. Grazie per l’attenzione…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *