4 |
- |
1 |
#!/bin/sh
|
|
|
2 |
#
|
|
|
3 |
# mediatomb This script starts and stops the mediatomb daemon
|
|
|
4 |
#
|
|
|
5 |
# chkconfig: - 95 30
|
|
|
6 |
# processname: mediatomb
|
|
|
7 |
# description: mediatomb is a daemon process which provides a UPnP service
|
|
|
8 |
# config: /etc/mediatomb
|
|
|
9 |
# config: /etc/mediatomb/config.xml
|
|
|
10 |
# pidfile: /var/run/mediatomb.pid
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
# Source function library.
|
|
|
14 |
. /etc/rc.d/init.d/functions
|
|
|
15 |
|
|
|
16 |
# Source networking configuration.
|
|
|
17 |
. /etc/sysconfig/network
|
|
|
18 |
|
|
|
19 |
# Check that networking is up.
|
|
|
20 |
[ ${NETWORKING} = "no" ] && exit 0
|
|
|
21 |
|
|
|
22 |
# Set default mediatomb configuration.
|
|
|
23 |
|
|
|
24 |
# either make an installation in /etc/mediatomb and leave this blank,
|
|
|
25 |
# or specify an alternative config file location using the -c option
|
|
|
26 |
# Note: be aware, that -i parameter is used to set the ip of the
|
|
|
27 |
# interface specified above
|
|
|
28 |
|
|
|
29 |
. /etc/mediatomb.conf
|
|
|
30 |
|
|
|
31 |
###############################
|
|
|
32 |
# make sure to run it as nobody
|
|
|
33 |
MEDIATOMB="-d -u $MT_USER -g $MT_GROUP -P $MT_PIDFILE -l $MT_LOGFILE -m $MT_HOME -f $MT_CFGDIR -p $MT_PORT"
|
|
|
34 |
|
|
|
35 |
[ -f /usr/local/bin/mediatomb ] || exit 0
|
|
|
36 |
[ ${MT_INTERFACE} = "NOT_SET" ] && echo "Please edit /etc/mediatomb.conf and change \
|
|
|
37 |
the MT_INTERFACE variable to your network device (eth0, eth1, etc.)" && exit 0
|
|
|
38 |
|
|
|
39 |
PATH=$PATH:/usr/bin:/usr/local/bin
|
|
|
40 |
|
|
|
41 |
# By default it's all good
|
|
|
42 |
RETVAL=0
|
|
|
43 |
|
|
|
44 |
# See how we were called.
|
|
|
45 |
case "$1" in
|
|
|
46 |
start)
|
|
|
47 |
# Start daemon.
|
|
|
48 |
echo -n "Applying multicast settings to $MT_INTERFACE... "
|
|
|
49 |
# those settings are necessary for us to react to M-SEARCH requests
|
|
|
50 |
route add -net 239.0.0.0 netmask 255.0.0.0 $MT_INTERFACE >/dev/null 2>&1
|
|
|
51 |
ifconfig $MT_INTERFACE allmulti
|
|
|
52 |
touch $MT_PIDFILE
|
|
|
53 |
chown mediatomb $MT_PIDFILE
|
|
|
54 |
|
|
|
55 |
mkdir -p "/$MT_HOME/$MT_CFGDIR"
|
|
|
56 |
chown mediatomb "/$MT_HOME/$MT_CFGDIR"
|
|
|
57 |
|
|
|
58 |
echo -n "Starting mediatomb: "
|
|
|
59 |
|
|
|
60 |
daemon $NICELEVEL mediatomb $MEDIATOMB -e $MT_INTERFACE $MT_OPTIONS
|
|
|
61 |
|
|
|
62 |
RETVAL=$?
|
|
|
63 |
echo
|
|
|
64 |
[ $RETVAL = 0 ] && touch /var/lock/subsys/mediatomb
|
|
|
65 |
;;
|
|
|
66 |
stop)
|
|
|
67 |
# Stop daemons.
|
|
|
68 |
echo -n "Shutting down mediatomb: "
|
|
|
69 |
killproc mediatomb
|
|
|
70 |
RETVAL=$?
|
|
|
71 |
echo
|
|
|
72 |
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/mediatomb
|
|
|
73 |
;;
|
|
|
74 |
restart)
|
|
|
75 |
$0 stop
|
|
|
76 |
$0 start
|
|
|
77 |
;;
|
|
|
78 |
condrestart)
|
|
|
79 |
[ -e /var/lock/subsys/mediatomb ] && $0 restart
|
|
|
80 |
;;
|
|
|
81 |
status)
|
|
|
82 |
status mediatomb
|
|
|
83 |
RETVAL=$?
|
|
|
84 |
;;
|
|
|
85 |
*)
|
|
|
86 |
echo "Usage: $0 {start|stop|restart|status|condrestart}"
|
|
|
87 |
RETVAL=1
|
|
|
88 |
;;
|
|
|
89 |
esac
|
|
|
90 |
|
|
|
91 |
exit $RETVAL
|