[Icecast] startup script for icecast
Klaas Jan Wierenga
k.j.wierenga at home.nl
Wed Jun 21 23:07:17 UTC 2006
Dave,
If you want to use it, this is the init script I used on Fedora Core 4.
#!/bin/bash
#
# Init file for Icecast server daemon
#
# chkconfig: 345 55 25
# description: Icecast streaming mp3 server daemon
#
# processname: icecast
# config: /etc/icecast.xml
# pidfile: /var/run/icecast.pid
# source function library
. /etc/rc.d/init.d/functions
# pull in sysconfig settings
[ -f /etc/sysconfig/icecast ] && . /etc/sysconfig/icecast
RETVAL=0
prog="icecast"
# Some functions to make the below more readable
PREFIX=/usr
PATH=$PATH:$PREFIX/bin
PIDFILE=/var/run/icecast.pid
CONF_FILE=/etc/icecast.xml
[ -f $PREFIX/bin/icecast ] || ( echo Failed to locate icecast binary: $PREFIX/bin/icecast && exit )
[ -f $CONF_FILE ] || ( echo Failed to locate icecast configuration file: $CONF_FILE && exit )
OPTIONS="-b -c $CONF_FILE"
start()
{
echo -n $"Starting $prog:"
ulimit -c unlimited # dump core for debugging purposes
ulimit -n 32768
daemon icecast icecast $OPTIONS
RETVAL=$?
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/icecast
echo
pidof icecast > $PIDFILE
return $RETVAL
}
stop()
{
echo -n $"Stopping $prog:"
killproc icecast -TERM
RETVAL=$?
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/icecast
echo
rm -f $PIDFILE
return $RETVAL
}
reload()
{
echo -n $"Reloading $prog:"
killproc icecast -HUP
RETVAL=$?
echo
return $RETVAL
}
condrestart()
{
[ -e /var/lock/subsys/icecast ] && restart
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
# wait for listening sockets to clear
echo "Waiting 5 seconds before restarting..."
sleep 5
start
;;
reload)
reload
;;
condrestart)
condrestart
;;
status)
status icecast
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
Regards,
KJ
Dave schreef:
> Hello,
> I was wondering about the feasibility of including a startup script
> for icecast for redhat/fedora installs? I've had to do an rpm install
> on an fc4 box, and a source install, rpms couldn't be found for an rh9
> machine, yah i know that's old. And in both cases i had to drop in a
> custom-made startup script, see below. I was wondering esepcially in
> the case of the rpm, and to a lesser extent the source, if this could
> be included? I've had to change the below paths for both source and
> rpm installs since they put items, (Config file and binaries), in
> different places.
> Thanks.
> Dave.
>
> #!/bin/bash
> #
> # Startup script for icecast
> #
> # chkconfig: 2345 86 25
> # description: Icecast Streaming Server
> #
> # processname: icecast2
> # config: /usr/local/icecast/conf/icecast.xml
> # pidfile: /usr/local/icecast/logs/icecast2.pid
>
> # source function library
> . /etc/rc.d/init.d/functions
>
> RETVAL=0
> prog="icecast2"
>
> # Some functions to make the below more readable
> ICECAST2=/usr/bin/icecast
> PID_FILE=/usr/local/icecast/logs/icecast2.pid
> CONFIG_FILE=/usr/local/icecast/conf/icecast.xml
>
> start()
> {
> echo -n $"Starting $prog:"
> # initlog -c "$ICECAST2 $OPTIONS" && success || failure
> initlog -c "$ICECAST2 -b -c $CONFIG_FILE" && success || failure
> RETVAL=$?
> [ "$RETVAL" = 0 ] && touch /var/lock/subsys/icecast2
> echo
> }
>
> stop()
> {
> echo -n $"Stopping $prog:"
> killproc $ICECAST2 -TERM
> RETVAL=$?
> [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/icecast2
> echo
> }
>
> restart()
> {
> echo -n $"Reloading $prog:"
> killproc $ICECAST2 -HUP
> RETVAL=$?
> echo
> }
>
> case "$1" in
> start)
> start
> ;;
> stop)
> stop
> ;;
> restart)
> stop
> start
> ;;
> status)
> status $ICECAST2
> RETVAL=$?
> ;;
> *)
> echo $"Usage: $0 {start|stop|restart|status}"
> RETVAL=1
> esac
> exit $RETVAL
>
> _______________________________________________
> Icecast mailing list
> Icecast at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast
>
>
More information about the Icecast
mailing list