Home > Posts > Aggiungere uno script di esecuzione locale ad un init stile UNIX System V

Aggiungere uno script di esecuzione locale ad un init stile UNIX System V

23 Ottobre 2006

Caveat emptor: Tutta questa roba non è necessaria se vi trovate un file /etc/rc.local. Potete usare quello per ottenere esattamente lo stesso comportamento.

Molti di voi sapranno che le distribuzioni di GNU/Linux più note (Debian e derivate, come Ubuntu, ma anche Fedora e OpenSUSE) utilizzano un init derivato da UNIX System V, che ha la caratteristica di organizzare i singoli script di avvio in directory diverse a seconda del runlevel.

In realtà, a volte sarebbe desiderabile avere uno script che avvii, come dire, tutte quelle attività una tantum, o per cui non si prevede una rigorosa implementazione degli stati per singolo runlevel. In questo, un init stile BSD offre una funzionalità apposita: uno script rc.local.

Con i passaggi seguenti (provati su Debian e Ubuntu) è possibile aggiungere uno script che si comporta esattamente come il suddetto script, che si chiamerà local:

cd /etc/init.d
sudo touch local
sudo chmod +x local
sudo update-rc.d local defaults 80

/etc/init.d/local dovrà contenere righe come queste:

#!/bin/bash 

case "$1" in
       start)
       # Comandi da eseguire all'avvio del computer
       # (o dello script)
               comando1
               comando2
       # Due punti e virgola ;; marcano la fine della
       # sezione
       ;; 

       stop)
       # Comandi da eseguire allo spegnimento del
       # computer (o alla terminazione dello script)
               comando1
               comando2
       ;; 

      restart)
     # Comandi da eseguire al riavvio dello script
               comando1
               comando2
       ;; 

        *)
        # Nessun parametro specificato.
        echo "Usage: $0 {start|stop|restart}
        ;;
esac
  1. Non c’è ancora nessun commento.
I commenti sono chiusi.