a local XML-RPC server for ncic: daemonize and respond to TERM, RT#7780
[freeside.git] / init.d / freeside-init
1 #!/bin/sh
2 #
3 # chkconfig: 345 86 16
4 # description: Freeside daemons
5
6 QUEUED_USER=%%%QUEUED_USER%%%
7
8 SELFSERVICE_USER=%%%SELFSERVICE_USER%%%
9 SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%"
10
11 IF=eth0
12
13 #INSTALLSCRIPT/INSTALLSITEBIN from Makefile.PL
14 PATH="$PATH:/usr/local/bin"
15 export PATH
16
17 [ -r /etc/default/freeside ] && . /etc/default/freeside
18
19 case "$1" in
20   start)
21         # Start daemons.
22         echo -n "Starting freeside-queued: "
23         #perl -MDBIx::Profile /usr/local/bin/freeside-queued $QUEUED_USER
24         freeside-queued $QUEUED_USER
25         #export NYTPROF="file=/usr/local/etc/freeside/nytprof.out"
26         #PERL5OPT="-d:NYTProf" freeside-queued $QUEUED_USER
27         echo "done."
28
29         echo -n "Starting freeside-sqlradius-radacctd: "
30         freeside-sqlradius-radacctd $QUEUED_USER
31         echo "done."
32
33         echo -n "Starting freeside-prepaidd: "
34         freeside-prepaidd $QUEUED_USER
35         echo "done."
36
37         echo -n "Starting freeside-cdrrewrited: "
38         freeside-cdrrewrited $QUEUED_USER
39         echo "done."
40
41         echo -n "Starting freeside-cdrd: "
42         freeside-cdrd $QUEUED_USER
43         echo "done."
44
45         for MACHINE in $SELFSERVICE_MACHINES; do
46           echo -n "Starting freeside-selfservice-server to $MACHINE: "
47           freeside-selfservice-server $SELFSERVICE_USER $MACHINE
48           echo "done."
49         done
50
51         echo -n "Starting freeside-selfservice-xmlrpcd: "
52         freeside-selfservice-xmlrpcd $SELFSERVICE_USER
53         echo "done."
54
55         #ip=`/sbin/ifconfig $IF | grep 'inet addr:' | cut -d: -f2- | cut -d' ' -f1`
56         #cp /opt/rt3/etc/RT_SiteConfig.pm.ORIG /opt/rt3/etc/RT_SiteConfig.pm
57         #perl -pi -e "s/localhost/$ip/" /opt/rt3/etc/RT_SiteConfig.pm
58
59         ;;
60   stop)
61         # Stop daemons.
62         echo -n "Stopping freeside-queued: "
63         [ -e /var/run/freeside-queued.pid ] && kill `cat /var/run/freeside-queued.pid`
64         #and
65         sleep 2;
66         killall freeside-queued
67         echo "done."
68
69         if [ -e /var/run/freeside-sqlradius-radacctd.pid ]; then
70           echo -n "Stopping freeside-sqlradius-radacctd: "
71           kill `cat /var/run/freeside-sqlradius-radacctd.pid`
72           echo "done."
73         fi
74
75         if [ -e /var/run/freeside-prepaidd.pid ]; then
76           echo -n "Stopping freeside-prepaidd: "
77           kill `cat /var/run/freeside-prepaidd.pid`
78           echo "done."
79         fi
80
81         if [ -e /var/run/freeside-cdrd.pid ]; then
82           echo -n "Stopping freeside-cdrd: "
83           kill `cat /var/run/freeside-cdrd.pid`
84           echo "done."
85         fi
86
87         if [ -e /var/run/freeside-cdrrewrited.pid ]; then
88           echo -n "Stopping freeside-cdrrewrited: "
89           kill `cat /var/run/freeside-cdrrewrited.pid`
90           echo "done."
91         fi
92
93         if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ]
94         then
95           echo -n "Stopping (old) freeside-selfservice-server: "
96           kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid`
97           rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid
98           echo "done."
99         fi
100
101         if [ -z "$SELFSERVICE_MACHINES" ]; then SELFSERVICE_MACHINES='localhost'; fi
102         for MACHINE in $SELFSERVICE_MACHINES; do
103           if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ]
104           then
105             echo -n "Stopping freeside-selfservice-server to $MACHINE: "
106             kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
107             echo "done."
108           fi
109         done
110
111         if [ -e /var/run/freeside/selfservice-xmlrpcd.pid ]; then
112           echo -n "Stopping freeside-selfservice-xmlrpcd: "
113           kill `cat /var/run/freeside/selfservice-xmlrpcd.pid`
114           echo "done."
115         fi
116
117         ;;
118
119   restart)
120         $0 stop
121         $0 start
122         ;;
123   *)
124         echo "Usage: freeside {start|stop|restart}"
125         exit 1
126 esac
127
128 exit 0
129