Intro:
Debido a la relativamente gran respuesta que tuve de la Asterisk-Users List despues de la publicación del script que modifiqué en SuSE Linux para arrancar/parar Asterisk automaticamente, decidí publicarlo en vez de mandarlo por email cada vez que me lo pedian :-)
Nota: Publiqué este script en 2004 y no he usado muchi Asterisk PBX en openSUSE desde entonces asi que confío en que funcionará en tu sistema con ninguna o alguna pequeña modificación.
El Script:
#!/bin/sh
#
# asterisk This shell script takes care of starting and stopping Asterisk.
#
# 08.Sept.2004 - Modified to be used on a SuSE Linux system by Martin Mielke.
# Please, send your comments/flames/salary increases/geek t-shirts, etc
# to <martin at mielke dot com>
#
#
# Source function library.
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num><num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
ASTERISK_BIN=/usr/sbin/asterisk
ASTERISK_LOCK=/var/lock/subsys/asterisk
ASTERISK_PID=/var/run/asterisk.pid
ASTERISK_OPTS="-nqg" # -n: Disable console colorization
# -q: Quiet mode (supress output)
# -g: Dump core in case of a crash
[ -f $ASTERISK_BIN ] || exit 0
RETVAL=0
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting Asterisk PBX: "
startproc $ASTERISK_BIN $ASTERISK_OPTS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $ASTERISK_LOCK
rc_status -v
;;
stop)
# Stop daemons.
echo -n "Shutting down Asterisk PBX: "
killproc asterisk
RETVAL=$?
rc_status -v
[ $RETVAL -eq 0 ] && rm -f $ASTERISK_LOCK
;;
status)
echo -n "Checking for service Asterisk PBX: "
/sbin/checkproc -p $ASTERISK_PID $ASTERISK_BIN
rc_status -v
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
rc_status -v
;;
*)
echo "Usage: asterisk {start|stop|restart|reload|status}"
exit 1
esac
exit $RETVAL
Como instalar:
Aunque asumo que ya sabes cómo instalar un script asi en tu sistema, recibí algunos emails de gente sin mucha experiencia en Linux, así que espero encuentres esta información de utilidad… :-)
Sigue estos pasos:
Conviertete en root:
$ su -l
Password: [aqui-tu-passwd-de-root]
Guarda el script como /etc/init.d/asterisk
Crea un link simbólico desde /etc/init.d/rc3.d a él para que Asterisk arranque al iniciar el sistema
# cd /etc/init.d/rc3.d
# ln -s ../asterisk S90asterisk
Crea un link simbólico desde /etc/init.d/rc0.d a él para detener Asterisk al apagar el sistema
# cd /etc/init.d/rc0.d
# ln -s ../asterisk K10asterisk
Cómo usarlo:
Una vez instalado, si deseas arrancar/parar Asterisk manualmente, convierte en root y teclea:
/etc/init.d/asterisk [tu-opción]
donde ‘tu-opción’ puede ser una de las siguientes:
start: para arrancar the Asterisk PBX
stop: para detener the Asterisk PBX
status: para comprobar el estado de Asterisk PBX
restart: To restart the Asterisk PBX
Advertencia
Este script se ofrece a la Comunidad Asterisk “TAL CUAL”. El autor no será responsable de cualquier daño causado debido a su uso.
Por favor, contacta conmigo si crees que el script necesita actualización.