Script de inicio de darkice para el Ubuntu

Written by: daniel

Date May 31, 2008

Darkice es uno de los programas más populares, a la hora de montar una radio online sobre el GNU/Linux. Es bastante estable y funciona bien con el Icecast2.

Sin embargo, la versión que está en los repositorios tiene dos pegas:

1) no tiene soporte para emisión en el formato mp3. Y aunque el formato libre ogg está ganando cada vez más popularidad, todavía hay mucha gente que espera tener un stream mp3.

Para resolver este problema, hay que compilar el programa desde el código fuente. Es bastante fácil y puedes encontrar una guía aquí.

2) el programa no funciona por defecto en modo de demonio. Por supuesto podríamos arrancarlo con

sudo darkice -c /etc/config.cfg &

para ponerlo en el segundo plano, pero no tenemos una opción fácil para iniciarlo automáticamente por ejemplo cuando arranca el sistema. El programa tampoco crea un archivo de identificación de proceso (ing: pid file), que podría servirnos si tenemos un sistema de monitorización de servicios como por ejemplo el monit.

Así que, tomando el archivo de aranque que viene con la instalación de icecast2 como modelo, he creado uno para el darkice.

#! /bin/sh
#
# Darkice init file
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/darkice
NAME=darkice
DESC=darkice

test -x $DAEMON || exit 0

# Defaults
CONFIGFILE=”/etc/darkice.cfg”
USERID=root
GROUPID=root
PIDFILE=”/var/run/darkice.pid”

set -e

case “$1″ in
start)
echo -n “Starting $DESC: ”
start-stop-daemon –start –quiet –chuid $USERID:$GROUPID \
-b -m -p $PIDFILE –exec $DAEMON — -c $CONFIGFILE
echo “$NAME.”
;;
stop)
echo -n “Stopping $DESC: ”
start-stop-daemon –stop –oknodo –quiet -p $PIDFILE
echo “$NAME.”
;;
reload|force-reload)
echo “Reloading $DESC configuration files.”
start-stop-daemon –stop –signal 1 –quiet -p $PIDFILE
;;
restart)
echo -n “Restarting $DESC: ”
start-stop-daemon –stop –oknodo –quiet -p $PIDFILE
sleep 1
start-stop-daemon –start –quiet –chuid $USERID:$GROUPID \
-b -m -p $PIDFILE –exec $DAEMON — -c $CONFIGFILE
echo “$NAME.”
;;
*)
echo “Usage: $0 {start|stop|restart|reload|force-reload}” >&2
exit 1
;;
esac

exit 0

Ahora ya podemos ejecutar el darkice con el tradicional:

sudo /etc/init.d/darkice start

De la misma manera podemos crear scripts para otros programas que normalmente no los tienen.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>