#!/bin/sh # # mediatomb This script starts and stops the mediatomb daemon # # chkconfig: - 95 30 # processname: mediatomb # description: mediatomb is a daemon process which provides a UPnP service # config: /etc/mediatomb # config: /etc/mediatomb/config.xml # pidfile: /var/run/mediatomb.pid ### BEGIN INIT INFO # Provides: mediatomb # Required-Start: $network # Should-Start: $named # Required-Stop: $network # Should-Stop: $named # Default-Start: 2 3 4 5 # Short-Description: Provides a UPnP service # Description: Mediatomb is a daemon process which provides a UPnP service. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Set default mediatomb configuration. # either make an installation in /etc/mediatomb and leave this blank, # or specify an alternative config file location using the -c option # Note: be aware, that -i parameter is used to set the ip of the # interface specified above . /etc/mediatomb/mediatomb.conf ############################### # make sure to run it as nobody MEDIATOMB="-d -u $MT_USER -g $MT_GROUP -P $MT_PIDFILE -l $MT_LOGFILE -m $MT_HOME -f $MT_CFGDIR -p $MT_PORT" [ -f /usr/bin/mediatomb ] || exit 0 [ ${MT_INTERFACE} = "NOT_SET" ] && echo "Please edit /etc/mediatomb.conf and change \ the MT_INTERFACE variable to your network device (eth0, eth1, etc.)" && exit 0 PATH=$PATH:/usr/bin:/usr/local/bin IFACE_IP=`ifconfig | grep -i "$MT_INTERFACE" -A 1|grep "inet addr"|cut -d " " -f 12|cut -d ":" -f 2` # By default it's all good RETVAL=0 # See how we were called. case "$1" in start) # Start daemon. gprintf "Applying multicast settings to %s... " "$MT_INTERFACE" # those settings are necessary for us to react to M-SEARCH requests route add -net 239.0.0.0 netmask 255.0.0.0 $MT_INTERFACE >/dev/null 2>&1 ifconfig $MT_INTERFACE allmulti touch $MT_PIDFILE chown nobody $MT_PIDFILE mkdir -p "/$MT_HOME/$MT_CFGDIR" chown nobody "/$MT_HOME/$MT_CFGDIR" gprintf "Starting mediatomb: " daemon $NICELEVEL mediatomb $MEDIATOMB -i $IFACE_IP $MT_OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/mediatomb ;; stop) # Stop daemons. gprintf "Shutting down mediatomb: " killproc mediatomb RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/mediatomb ;; restart) $0 stop $0 start ;; condrestart) [ -e /var/lock/subsys/mediatomb ] && $0 restart ;; status) status mediatomb RETVAL=$? ;; *) gprintf "Usage: %s {start|stop|restart|status|condrestart}\n" "$0" RETVAL=1 ;; esac exit $RETVAL