Chkonfig -- Servizi all'avvio di Centos

Start and Stop Services in RHEL/CentOS 5

Due pagine web di riferimento di linuxmail e openskill

Mostra tutti i servizi disponibili o solo le info di un servizio

chkconfig ––list
chkconfig --list nomeservizio

Aggiunge un servizio al managment tramite chkconfig

chkconfig --add name

Cancella un servizio dall'elenco dei servizi gestiti tramite chkconfig

chkconfig --del name

Modifica lo status in on/off del servizio a livelli 23456

chkconfig --level 23456 name on

Ogni servizio gestito da chkconfig, contiene all'inizio del file di configurazione in /etc/init.d le seguenti righe:

[neo@dido neo]$ cat /etc/init.d/random

Alcune informazioni, autore e scopo dello script
#!/bin/bash
#
# random    Script to snapshot random state and reload it at boot time.
#
# Author:       Theodore Ts'o
Configurazioni per chkconfig
La prima sequenza di numeri [2345] indicano i run level in cui il servizio parte il [20] e [80] indicano la priorita' di avvio e spegnimento del servizio
# chkconfig: 2345 20 80
Eventuale descrizione
# description: Saves and restores system entropy pool for higher quality random number generation

Mio servizio all'avvio

Ecco un esempio di uno script tomcat settato da me all'avvio. Riferimento per questa sezione la pagina

Creiamo il file

nano /etc/init.d/tomcat

Scriviamo dentro le info per il servizio
#!/bin/bash
#
# chkconfig: 2345 85 15
# description: tomcat
# processname: tomcat
# source function library
. /etc/init.d/functions
RETVAL=0
start() {
    echo $"Starting tomcat services: "
    /opt/apache-tomcat-7.0.14/bin/startup.sh
    RETVAL=$?
    echo
}

stop() {
    echo $"Shutting down tomcat services: "
    /opt/apache-tomcat-7.0.14/bin/shutdown.sh
    RETVAL=$?
    echo
}

viewlog(){
    echo -n $"View log of tomcat services: "
    echo -n $"press CTRL+C to exit "
    tail -f /opt/apache-tomcat-7.0.14/logs/catalina.out 
}
status(){
    echo $"Stato di liferay tramite comando top"
        ps aux | grep java | grep liferay
}

case "$1" in 
start)
start
;;
stop)
stop
;;
viewlog)
viewlog
;;
restart|reload)
stop
start
;;
status)
status 
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status|viewlog}"
exit 1
esac
exit $RETVAL

Assegniamogli i diritti di esecuzione e mettiamolo all'avvio

chmod +x tomcat
chkconfig --add tomcat
chkconfig --level 23456 tomcat on

Problemi se si ottiene il messaggio

 chkconfig --list tomcat
Il servizio tomcat non supporta chkconfig

vuol dire che mancano o sono scritte in maniera errata le due righe
# chkconfig: 345 99 01 
# description: some startup script

Promemoria del significato
345 - levels to configure 
99 - startup order 
01 - stop order

Un altro tomcat script

#!/bin/bash  
# description: Tomcat Start Stop Restart  
# processname: tomcat  
# chkconfig: 234 20 80  
JAVA_HOME=/opt/jdk1.6.0_25
export JAVA_HOME  
PATH=$JAVA_HOME/bin:$PATH  
export PATH  
CATALINA_HOME=/opt/apache-tomcat-7.0.25  

case $1 in  
start)  
sh $CATALINA_HOME/bin/startup.sh  
;;   
stop)     
sh $CATALINA_HOME/bin/shutdown.sh  
;;   
status)
ps aux | grep tomcat
;;
restart)  
sh $CATALINA_HOME/bin/shutdown.sh  
sleep 10
sh $CATALINA_HOME/bin/startup.sh  
;;   
esac      
exit 0
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License