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