Initial revision
[freeradius.git] / scripts / rc.radiusd.in
1 #!/bin/sh
2 #
3 # radiusd       Start the radius daemon.
4 #
5 #               This is a script suitable for the Debian Linux distribution.
6 #               Copy it to /etc/init.d/radiusd, make it executable, and
7 #               execute "update-rc.d radiusd defaults 50".
8 #
9
10 prefix          = @prefix@
11 exec_prefix     = @exec_prefix@
12 sbindir         = @sbindir@
13 localstatedir   = @localstatedir@
14 logdir          = @logdir@
15 rundir          = ${localstatedir}/run
16
17 RADIUSD=$sbindir/radiusd
18 WATCHER=$sbindir/radwatch
19 DESC="Cistron radius server"
20 NAME1=radiusd
21 NAME2=radwatch
22
23 ARGS="-y"
24
25 test -f $RADIUSD || exit 0
26
27 case "$1" in
28   start)
29         if [ ! -f $logdir/radutmp ]
30         then
31                 :>$logdir/radutmp
32         fi
33         echo -n "Starting $DESC: "
34         if [ -x $WATCHER ]
35         then
36                 echo -n "radwatch "
37                 start-stop-daemon --start --quiet --startas $WATCHER \
38                         --pidfile $rundir/$NAME2.pid --exec $RADIUSD -- $ARGS
39         else
40                 start-stop-daemon --start --quiet \
41                         --pidfile $rundir/$NAME1.pid --exec $RADIUSD -- $ARGS
42         fi
43         echo "radiusd."
44         ;;
45   stop)
46         [ -z "$2" ] && echo -n "Stopping $DESC: "
47         if [ -x $WATCHER ]
48         then
49                 [ -z "$2" ] && echo -n "radwatch "
50                 start-stop-daemon --stop --quiet \
51                         --pidfile $rundir/$NAME2.pid -- exec $RADWATCH
52                 #killall -9 radwatch 2>/dev/null
53         else
54                 start-stop-daemon --stop --quiet \
55                         --pidfile $rundir/$NAME1.pid --exec $RADIUSD
56         fi
57         #killall radiusd 2>/dev/null
58         [ -z "$2" ] && echo "radiusd."
59         ;;
60   reload|force-reload)
61         echo "Reloading $DESC configuration files."
62         start-stop-daemon --stop --signal 1 --quiet --pidfile \
63                 $rundir/$NAME1.pid --exec $RADIUSD
64         ;;
65   restart)
66         sh /etc/init.d/radiusd stop quiet
67         sleep 3
68         /etc/init.d/radiusd start
69         ;;
70   *)
71         echo "Usage: /etc/init.d/$NAME1 {start|stop|reload|restart}"
72         exit 1
73 esac
74
75 exit 0