#! /bin/bash # setup echolink proxies - Rob Janssen # # /etc/init.d/elproxy # ### BEGIN INIT INFO # Provides: elproxy # Required-Start: cron # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Configure special network interface and start el proxies ### END INIT INFO . /lib/lsb/init-functions PROG="elproxy" DAEMON=/home/elproxy/elproxy CONFIG=/home/elproxy/ELProxy.conf STATFILE=/dev/shm/elproxy PIDFILE=/var/run/$PROG.pid LOGFILE=/var/log/$PROG ERRLOG=/var/log/$PROG.err RUNASUSER=elproxy ELPROXIF="dummy0" ELPROXNET="44.137.75" test -x $DAEMON || exit 5 case "$1" in start) echo "Starting elproxy daemon" ## Check about pid file if [ -e $PIDFILE ]; then if $0 status > /dev/null ; then log_failure_msg "$PROG is already started; not starting" return else log_progress_msg "[Removing stale PID file $PIDFILE]" rm -f $PIDFILE fi fi echo "Starting interface" modprobe dummy ifconfig $ELPROXIF $ELPROXNET.1/24 up for i in {2..249} do ip addr add $ELPROXNET.$i/32 dev $ELPROXIF done echo "Starting proxies" touch $LOGFILE chown $RUNASUSER.$RUNASUSER $LOGFILE sleep 2 start-stop-daemon --start --pidfile $PIDFILE --make-pidfile --chuid $RUNASUSER --startas $DAEMON -- $CONFIG >>$ERRLOG 2>&1 ;; stop) echo "Stopping proxies" start-stop-daemon --stop --pidfile $PIDFILE rm -f $STATFILE sleep 10 echo "Stopping interface" for i in {2..249} do ip addr del $ELPROXNET.$i/32 dev $ELPROXIF 2>/dev/null done ifconfig $ELPROXIF down ;; restart) $0 stop; sleep 2; $0 start ;; reload) echo "Reloading proxies" killall -9 $DAEMON rm -f $STATFILE $PIDFILE sleep 2 start-stop-daemon --start --pidfile $PIDFILE --make-pidfile --chuid $RUNASUSER --startas $DAEMON -- $CONFIG >>$ERRLOG 2>&1 ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0