9d8530739f932556758b2ef303b11b83334092d0
[freeside.git] / init.d / freeside-init
1 #!/bin/sh
2 #
3 # chkconfig: 345 86 16
4 # description: Freeside daemons
5 #
6 ### BEGIN INIT INFO
7 # Provides:          freeside
8 # Required-Start:    $time $remote_fs
9 # Required-Stop:     $remote_fs
10 # Should-Start:      postgresql mysql
11 # Should-Stop:       postgresql mysql
12 # Default-Start:     2 3 4 5
13 # Default-Stop:      0 1 6
14 # Short-Description: Start Freeside daemons at boot time
15 # Description:       Enable Freeside daemons
16 ### END INIT INFO
17
18 QUEUED_USER=%%%QUEUED_USER%%%
19
20 SELFSERVICE_USER=%%%SELFSERVICE_USER%%%
21 SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%"
22
23 IF=eth0
24
25 #INSTALLSCRIPT/INSTALLSITEBIN from Makefile.PL
26 PATH="$PATH:/usr/local/bin"
27 export PATH
28
29 [ -r /etc/default/freeside ] && . /etc/default/freeside
30
31 case "$1" in
32   start)
33         # Start daemons.
34         echo -n "Starting freeside-queued: "
35         #perl -MDBIx::Profile /usr/local/bin/freeside-queued $QUEUED_USER
36         freeside-queued $QUEUED_USER
37         #export NYTPROF="file=/usr/local/etc/freeside/nytprof.out"
38         #PERL5OPT="-d:NYTProf" freeside-queued $QUEUED_USER
39         echo "done."
40
41         echo -n "Starting freeside-sqlradius-radacctd: "
42         freeside-sqlradius-radacctd $QUEUED_USER
43         echo "done."
44
45         echo -n "Starting freeside-prepaidd: "
46         freeside-prepaidd $QUEUED_USER
47         echo "done."
48
49         echo -n "Starting freeside-cdrrewrited: "
50         freeside-cdrrewrited $QUEUED_USER
51         echo "done."
52
53         echo -n "Starting freeside-cdrd: "
54         freeside-cdrd $QUEUED_USER
55         echo "done."
56
57         echo -n "Starting freeside-cdrrated: "
58         freeside-cdrrated $QUEUED_USER
59         echo "done."
60
61         for MACHINE in $SELFSERVICE_MACHINES; do
62           echo -n "Starting freeside-selfservice-server to $MACHINE: "
63           freeside-selfservice-server $SELFSERVICE_USER $MACHINE
64           echo "done."
65         done
66
67         echo -n "Starting freeside-selfservice-xmlrpcd: "
68         freeside-selfservice-xmlrpcd $SELFSERVICE_USER
69         echo "done."
70
71         if [ -e /usr/local/bin/torrus ]; then
72           echo -n "Starting torrus collector: "
73           /usr/local/bin/torrus collector --tree=main
74           echo "done."
75         fi
76
77         echo -n "Starting freeside-torrus-srvderive: "
78         freeside-torrus-srvderive $QUEUED_USER
79         echo "done."
80
81         #ip=`/sbin/ifconfig $IF | grep 'inet addr:' | cut -d: -f2- | cut -d' ' -f1`
82         #cp /opt/rt3/etc/RT_SiteConfig.pm.ORIG /opt/rt3/etc/RT_SiteConfig.pm
83         #perl -pi -e "s/localhost/$ip/" /opt/rt3/etc/RT_SiteConfig.pm
84
85         ;;
86   stop)
87         # Stop daemons.
88         echo -n "Stopping freeside-queued: "
89         [ -e /var/run/freeside-queued.pid ] && kill `cat /var/run/freeside-queued.pid`
90         #and
91         sleep 2;
92         killall freeside-queued
93         echo "done."
94
95         if [ -e /var/run/freeside-sqlradius-radacctd.pid ]; then
96           echo -n "Stopping freeside-sqlradius-radacctd: "
97           kill `cat /var/run/freeside-sqlradius-radacctd.pid`
98           echo "done."
99         fi
100
101         if [ -e /var/run/freeside-prepaidd.pid ]; then
102           echo -n "Stopping freeside-prepaidd: "
103           kill `cat /var/run/freeside-prepaidd.pid`
104           echo "done."
105         fi
106
107         if [ -e /var/run/freeside-cdrd.pid ]; then
108           echo -n "Stopping freeside-cdrd: "
109           kill `cat /var/run/freeside-cdrd.pid`
110           echo "done."
111         fi
112
113         if [ -e /var/run/freeside-cdrrewrited.pid ]; then
114           echo -n "Stopping freeside-cdrrewrited: "
115           kill `cat /var/run/freeside-cdrrewrited.pid`
116           echo "done."
117         fi
118
119         if [ -e /var/run/freeside-cdrrated.pid ]; then
120           echo -n "Stopping freeside-cdrrated: "
121           kill `cat /var/run/freeside-cdrrated.pid`
122           echo "done."
123         fi
124
125         if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ]
126         then
127           echo -n "Stopping (old) freeside-selfservice-server: "
128           kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid`
129           rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid
130           echo "done."
131         fi
132
133         if [ -z "$SELFSERVICE_MACHINES" ]; then SELFSERVICE_MACHINES='localhost'; fi
134         for MACHINE in $SELFSERVICE_MACHINES; do
135           if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ]
136           then
137             echo -n "Stopping freeside-selfservice-server to $MACHINE: "
138             kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
139             echo "done."
140           fi
141         done
142
143         if [ -e /var/run/freeside/selfservice-xmlrpcd.pid ]; then
144           echo -n "Stopping freeside-selfservice-xmlrpcd: "
145           kill `cat /var/run/freeside/selfservice-xmlrpcd.pid`
146           echo "done."
147         fi
148
149         if [ -e /var/run/freeside/torrus-srvderive.pid ]; then
150           echo -n "Stopping freeside-torrus-srvderive: "
151           kill `cat /var/run/freeside/torrus-srvderive.pid`
152           echo "done."
153         fi
154
155         if [ -e /var/run/torrus/collector.main_?.pid ]; then
156           echo -n "Stopping torrus collector: "
157           kill `cat /var/run/torrus/collector.main_?.pid`
158           echo "done."
159         fi
160
161         ;;
162
163   restart)
164         $0 stop
165         $0 start
166         ;;
167   *)
168         echo "Usage: freeside {start|stop|restart}"
169         exit 1
170 esac
171
172 exit 0
173