combine ticket notification scrips, #15353
[freeside.git] / init.d / freeside-init
index 57801dd..0589ceb 100644 (file)
@@ -1,24 +1,57 @@
-#! /bin/sh
+#!/bin/sh
 #
 # chkconfig: 345 86 16
 # description: Freeside daemons
+#
+### BEGIN INIT INFO
+# Provides:          freeside
+# Required-Start:    $time $remote_fs
+# Required-Stop:     $remote_fs
+# Should-Start:      postgresql mysql
+# Should-Stop:       postgresql mysql
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start Freeside daemons at boot time
+# Description:       Enable Freeside daemons
+### END INIT INFO
 
 QUEUED_USER=%%%QUEUED_USER%%%
 
-FREESIDE_PATH="%%%FREESIDE_PATH%%%"
-
 SELFSERVICE_USER=%%%SELFSERVICE_USER%%%
 SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%"
 
+IF=eth0
+
 #INSTALLSCRIPT/INSTALLSITEBIN from Makefile.PL
 PATH="$PATH:/usr/local/bin"
 export PATH
 
+[ -r /etc/default/freeside ] && . /etc/default/freeside
+
 case "$1" in
   start)
         # Start daemons.
         echo -n "Starting freeside-queued: "
+        #perl -MDBIx::Profile /usr/local/bin/freeside-queued $QUEUED_USER
         freeside-queued $QUEUED_USER
+        #export NYTPROF="file=/usr/local/etc/freeside/nytprof.out"
+        #PERL5OPT="-d:NYTProf" freeside-queued $QUEUED_USER
+        echo "done."
+
+        echo -n "Starting freeside-sqlradius-radacctd: "
+        freeside-sqlradius-radacctd $QUEUED_USER
+        echo "done."
+
+        echo -n "Starting freeside-prepaidd: "
+        freeside-prepaidd $QUEUED_USER
+        echo "done."
+
+        echo -n "Starting freeside-cdrrewrited: "
+        freeside-cdrrewrited $QUEUED_USER
+        echo "done."
+
+        echo -n "Starting freeside-cdrd: "
+        freeside-cdrd $QUEUED_USER
         echo "done."
 
         for MACHINE in $SELFSERVICE_MACHINES; do
@@ -27,26 +60,94 @@ case "$1" in
           echo "done."
         done
 
+        echo -n "Starting freeside-selfservice-xmlrpcd: "
+        freeside-selfservice-xmlrpcd $SELFSERVICE_USER
+        echo "done."
+
+        if [ -e /usr/local/bin/torrus ]; then
+          echo -n "Starting torrus collector: "
+          /usr/local/bin/torrus collector --tree=main
+          echo "done."
+        fi
+
+        echo -n "Starting freeside-torrus-srvderive: "
+        freeside-torrus-srvderive $QUEUED_USER
+        echo "done."
+
+        #ip=`/sbin/ifconfig $IF | grep 'inet addr:' | cut -d: -f2- | cut -d' ' -f1`
+        #cp /opt/rt3/etc/RT_SiteConfig.pm.ORIG /opt/rt3/etc/RT_SiteConfig.pm
+        #perl -pi -e "s/localhost/$ip/" /opt/rt3/etc/RT_SiteConfig.pm
+
         ;;
   stop)
         # Stop daemons.
         echo -n "Stopping freeside-queued: "
-        kill `cat /var/run/freeside-queued.pid`
+        [ -e /var/run/freeside-queued.pid ] && kill `cat /var/run/freeside-queued.pid`
+        #and
+        sleep 2;
+        killall freeside-queued
         echo "done."
 
+        if [ -e /var/run/freeside-sqlradius-radacctd.pid ]; then
+          echo -n "Stopping freeside-sqlradius-radacctd: "
+          kill `cat /var/run/freeside-sqlradius-radacctd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-prepaidd.pid ]; then
+          echo -n "Stopping freeside-prepaidd: "
+          kill `cat /var/run/freeside-prepaidd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-cdrd.pid ]; then
+          echo -n "Stopping freeside-cdrd: "
+          kill `cat /var/run/freeside-cdrd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-cdrrewrited.pid ]; then
+          echo -n "Stopping freeside-cdrrewrited: "
+          kill `cat /var/run/freeside-cdrrewrited.pid`
+          echo "done."
+        fi
+
         if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ]
         then
           echo -n "Stopping (old) freeside-selfservice-server: "
           kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid`
           rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid
+          echo "done."
         fi
 
+        if [ -z "$SELFSERVICE_MACHINES" ]; then SELFSERVICE_MACHINES='localhost'; fi
         for MACHINE in $SELFSERVICE_MACHINES; do
-          echo -n "Stopping freeside-selfservice-server to $MACHINE: "
-          kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
-          echo "done."
+          if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ]
+          then
+            echo -n "Stopping freeside-selfservice-server to $MACHINE: "
+            kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
+            echo "done."
+          fi
         done
 
+        if [ -e /var/run/freeside/selfservice-xmlrpcd.pid ]; then
+          echo -n "Stopping freeside-selfservice-xmlrpcd: "
+          kill `cat /var/run/freeside/selfservice-xmlrpcd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside/torrus-srvderive.pid ]; then
+          echo -n "Stopping freeside-torrus-srvderive: "
+          kill `cat /var/run/freeside/torrus-srvderive.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/torrus/collector.main_?.pid ]; then
+          echo -n "Stopping torrus collector: "
+          kill `cat /var/run/torrus/collector.main_?.pid`
+          echo "done."
+        fi
+
         ;;
 
   restart)