Eseguire uno script al boot di Linux


Per fare lo start di uno script all'avvio di Linux aggiungere il proprio script nella directory:

/ect/init.d/myscript

e dargli i permessi di esecuzione

chmod +x myscript

Lo script dovrà rispettare il seguente tracciato:

#!/bin/bash 
#chkconfig: 2345 20 80 
#description: Description comes here.... 
#Source function library. 
. /etc/init.d/functions 

start() { 
   # code to start app comes here 

stop() { 
   # code to stop app comes here 


case "$1" in 

start) 
   start 
   ;; 
stop) 
   stop 
   ;; 
restart) 
   stop 
   start 
   ;; 
*) 
   echo "Usage: $0 {start|stop|restart}" 
esac 

exit 0


La riga #chkconfig: 2345 20 80 definisce il runlevel al quale lo script deve essere fatto partire (sul 2°, 3°, 4° e 5° livello) e le priorità di start (20) e di stop (80).
Per verificare il runlevel al quale sta girando la vostra macchina date il comando in un terminale:
runlevel
 I runlevel sono così definiti:
  • 1 Single user (super user)
  • 2 multi user
  • 3 multi user + network
  • 4 (non utilizzato)
  • 5 multi user, network + X11

I runlevel 0 e 6 servono rispettivamente per il system halt e per il reboot.

Una volta copiato lo script nella directory di init.d dare i seguenti comandi per testare lo start dello script: /ect/init.d/myscript start oppure chkconfig myscript start.

Infine aggiungere lo script al chkconfig:
$ chkconfig --add myscript
$ chkconfig --level 2345 myscript on 
e verificarne l'abilitazione:
$ chkconfig --list | grep myscript