X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=init.d%2Ffreeside-init;h=a7bb3d12c2ef0d3437310bcde7c7da03410691d5;hp=46f133d59c92b931ac48f1421d350e338c520fa1;hb=51c0d6572357ba4d7c11a11e7ff506428c1cc045;hpb=f221fec654d6d125d3ccb5aed5dce9f11fe8b99b diff --git a/init.d/freeside-init b/init.d/freeside-init index 46f133d59..a7bb3d12c 100644 --- a/init.d/freeside-init +++ b/init.d/freeside-init @@ -1,48 +1,209 @@ -#! /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%%% +API_USER=%%%API_USER%%% -QUEUED_USER=ivan +SELFSERVICE_USER=%%%SELFSERVICE_USER%%% +SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%" -FREESIDE_PATH="/home/ivan/freeside_current" +IF=eth0 -PASSWD_USER=ivan -PASSWD_MACHINE=localhost +#INSTALLSCRIPT/INSTALLSITEBIN from Makefile.PL +PATH="$PATH:/usr/local/bin" +export PATH -SIGNUP_USER=ivan -SIGNUP_MACHINE=localhost -SIGNUP_AGENTNUM=2 -SIGNUP_REFNUM=2 +[ -r /etc/default/freeside ] && . /etc/default/freeside case "$1" in start) # Start daemons. + + for MACHINE in $SELFSERVICE_MACHINES; do + echo -n "Starting freeside-selfservice-server to $MACHINE: " + freeside-selfservice-server $SELFSERVICE_USER $MACHINE + echo "done." + done + + echo -n "Starting freeside-selfservice-xmlrpcd: " + freeside-selfservice-xmlrpcd $SELFSERVICE_USER + echo "done." + + echo -n "Starting freeside-xmlrpcd: " + freeside-xmlrpcd $API_USER + echo "done." + +# echo -n "Starting freeside-jsonrpcd: " +# freeside-jsonrpcd $API_USER +# echo "done." + 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." + + echo -n "Starting freeside-cdrrated: " + freeside-cdrrated $QUEUED_USER echo "done." - echo -n "Starting fs_passwd_server: " - su freeside -c "$FREESIDE_PATH/fs_passwd/fs_passwd_server $PASSWD_USER $PASSWD_MACHINE" & + echo -n "Starting freeside-pingd: " + freeside-pingd $QUEUED_USER echo "done." - echo -n "Starting fs_signup_server: " - su freeside -c "$FREESIDE_PATH/fs_signup/fs_signup_server $SIGNUP_USER $SIGNUP_MACHINE $SIGNUP_AGENTNUM $SIGNUP_REFNUM" & + 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." + + if [ -e /opt/rt3/etc/RT_SiteConfig.pm.ORIG_WEBDEMO_HACK ]; then + ip=`/sbin/ifconfig $IF | grep 'inet addr:' | cut -d: -f2- | cut -d' ' -f1` + cp /opt/rt3/etc/RT_SiteConfig.pm.ORIG_WEBDEMO_HACK /opt/rt3/etc/RT_SiteConfig.pm + perl -pi -e "s/localhost/$ip/" /opt/rt3/etc/RT_SiteConfig.pm + fi + ;; 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." - echo -n "Stopping fs_passwd_server: " - killall fs_passwd_server - 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-cdrrated.pid ]; then + echo -n "Stopping freeside-cdrrated: " + kill `cat /var/run/freeside-cdrrated.pid` + echo "done." + fi + + if [ -e /var/run/freeside-pingd.pid ]; then + echo -n "Stopping freeside-pingd: " + kill `cat /var/run/freeside-pingd.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 + + if [ -e /var/run/freeside/xmlrpcd.pid ]; then + echo -n "Stopping freeside-xmlrpcd: " + kill `cat /var/run/freeside/xmlrpcd.pid` + echo "done." + fi + +# if [ -e /var/run/freeside/jsonrpcd.pid ]; then +# echo -n "Stopping freeside-jsonrpcd: " +# kill `cat /var/run/freeside/jsonrpcd.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` + sleep + 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 + 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` + howlong=10 + while [ $howlong -gt 0 ] && kill -0 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` 2>/dev/null; do + echo -n '.' + sleep 1 + howlong=$(( $howlong - 1 )) + if [ $howlong -eq 0 ]; then + echo -n 'forcefully.' + kill -9 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + fi + done + echo "done." + rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid + 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 - echo -n "Stopping fs_signup_server: " - killall fs_signup_server - echo "done." ;; restart)