Oct 13
Inicialização automática de pacotes no sistema de boot Redhat Linux
A iniciliazação automática de daemons no Redhat Linux pode ser feita de duas maneiras, pela inittab ou pelo /etc/rc.d utilizando script de execução.
Para isto basta adicionar a seguinte entrada em /etc/inittab
vi /etc/inittab
# Start automático daemonname
daemonname::once:/caminho/para/bin/daemon >/dev/null 2>&1
A segunda forma é através do /etc/init.d script
Criamos um script de inicialização em /etc/init.d/startdaemon
Com o contéudo abaixo:
#!/bin/bash
#
# chkconfig: – 91 35
# description: Starts and stops vncserver/integradorTXT# Source function library.
. /etc/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0[ -f /caminho/para/bin/startdaemon ] || exit 0
prog=”startdaemon”
export DAEMON_DIR=/caminho/para/bin
export DAEMON_CONFIG=/caminho/para/conf/startdaemon.conf # somente se necessáriostart() {
echo -n $”Starting $prog: ”
cd $DAEMON_DIR
daemon $DAEMON_DIR/startdaemon
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/startdaemon
return $RETVAL
}stop() {
if test “x`pidof startdaemon`” != x; then
echo -n $”Stopping $prog: ”
killproc startdaemon
echo
fi
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/startdaemon
return $RETVAL
}case “$1″ in
start)
start
;;stop)
stop
;;status)
status startdaemon
;;
restart)
stop
start
;;
condrestart)
if test “x`pidof startdaemon`” != x; then
stop
start
fi
;;*)
echo $”Usage: $0 {start|stop|restart|condrestart|status}”
exit 1esac
exit 0
# eof
Depois setamos as permissões de execução
chmod 744 /etc/init.d/startdaemon
Agora colocamos o nosso serviço no inialização automática, isto pode ser feito manualmente ou automaticamente.
Se automaticamente:
/sbin/chkconfig –add startdaemon
/sbin/chkconfig –level 35 startdaemon on
/sbin/chkconfig –list startdaemon
Este comando criar todos os simbólicos links automáticamentes de acordo com os runlevels escolhidos.
Se manualmente:
cd /etc/rc.d/rc3.d
ln -s ../init.d/startdaemon S91startdaemoncd /etc/rc.d/rc5.d
ln -s ../init.d/startdaemon S91startdaemoncd /etc/rc.d/rc0.d
ln -s ../init.d/startdaemon K35startdaemoncd /etc/rc.d/rc6.d
ln -s ../init.d/startdaemon K35startdaemoncd /etc/rc.d/rc1.d
ln -s ../init.d/startdaemon K35startdaemon
Para testar as configurações digitamos os seguintes comandos:
* para start do daemon manualmente
service startdaemon start
* para stop do daemon manualmente
service startdaemon stop
* para restart do daemon manualmente
service startdaemon restart
* para verificar o status do daemon
service startdaemon status
ou
ps -ef | grep startdaemon
OBS.: Para que o start funcione durante do boot que init level do sistema assuma como default 3 ou 5.
Comments are off for this postcat /etc/inittab | grep initdefault
id:5:initdefault
