#!/bin/bash # # Init file for 6to4 tunnel # # chkconfig: 2345 40 60 # description: 6to4 tunnel freenet6 using tspc client # source function library . /etc/rc.d/init.d/functions prog="gw6c" RETVAL=0 TUNNEL_PATH=/usr/local/tspc-advanced/bin TUNNEL_DAEMON=${prog} CONF=tspc.conf cd /var/log/ start() { if [ -f /var/run/tspc.pid ]; then echo "GW6C server already running" exit fi if [ -x $TUNNEL_PATH/$TUNNEL_DAEMON ] && [ -f $TUNNEL_PATH/$CONF ]; then echo -n $"Starting $prog:" nohup ${TUNNEL_PATH}/$TUNNEL_DAEMON -f ${TUNNEL_PATH}/$CONF >/dev/null 2>&1 echo $! > /var/run/tspc.pid pidof ${prog} > /var/run/tspc.pid if [ $? = 0 ]; then echo " [ OK ]" else echo " [ Failed ]" fi else echo "can't find ${TUNNEL_DAEMON} or ${CONF}" fi } stop() { if [ -f /var/run/tspc.pid ]; then echo -n $"Stopping $prog:" kill `cat /var/run/radvd/radvd.pid` rm -f /var/run/radvd/radvd.pid kill `cat /var/run/tspc.pid` rm -f /var/run/tspc.pid if [ $? = 0 ]; then echo " [ OK ]" else echo " [ Failed ]" fi else echo "${prog} doesn't appear to be running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 1 start ;; status) if [ -f /var/run/tspc.pid ]; then echo "tspc is running" else echo "tspc stopped" fi ;; *) echo $"Usage: $0 {start|stop|restart|status}" RETVAL=1 esac