Subversion Repositories DevTools

Rev

Rev 1044 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/usr/bin/env bash

### BEGIN INIT INFO
# Provides:          BlatFileTransfer
# Required-Start:    $local_fs $remote_fs
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: Blat File Transfer
# Description:       Dpkg_archive sync between VIX sites
### END INIT INFO

#set -x
BLATUSR=buildadm
BLATBIN=/home/${BLATUSR}/blat
PID="${BLATBIN}/run/blat.pid"


ARG=$1
cd "$BLATBIN"

start () {
        echo Starting blat daemon now...
        SU="bash -c "
        [ "$USER" != "$BLATUSR" ] && SU="su - ${BLATUSR} -c "
        $SU "perl $BLATBIN/blat.pl -pid=$PID 2>/tmp/blat.log 1>&2"
}

stop () {
        if [ -f $PID ]; then
                echo Stopping daemon now...
                kill ` cat $PID `
        else
                echo "No pidfile found (not running?)"
        fi
}

logrotate () {
        echo Triggering a logrotate
        kill -HUP ` cat $PID `
}

#
#   Setup init levels
#   Linux and Solaris are different
#
setup() {
    if [ ! -f /etc/init.d/blatdaemon ] ; then
        echo "Error: /etc/init.d/blatdaemon does not exist"
        exit 1
    fi

    mtype=`uname`
    if [ -x /usr/sbin/update-rc.d ] ; then mtype=Ubuntu; fi

    case "$mtype" in
    Ubuntu)
        /usr/sbin/update-rc.d -f blatdaemon remove
        /usr/sbin/update-rc.d blatdaemon defaults
        ;;
        
    Linux)
        for ii in 2 3 4 5; do
            file=/etc/rc.d/rc$ii.d/S80blatdaemon
            [ -f $file ] || ln -s /etc/init.d/blatdaemon $file
        done

        for ii in 0 1 6 ; do
            file=/etc/rc.d/rc$ii.d/K30blatdaemon
            [ -f $file ] || ln -s /etc/init.d/blatdaemon $file
        done
        ;;

    SunOS)
        for ii in 2 3; do
            file=/etc/rc$ii.d/S80blatdaemon
            [ -f $file ] || ln -s /etc/init.d/blatdaemon $file
        done

        for ii in 0 1 S ; do
            file=/etc/rc$ii.d/K30blatdaemon
            [ -f $file ] || ln -s /etc/init.d/blatdaemon $file
        done
        ;;

    *)
        echo "$0 setup - Unknown machine type: $mtype"
        exit 1
        ;;
    esac
}


case $ARG in
        start)
                start
        ;;

        stop)
                stop
        ;;

        restart)
                stop
                start
        ;;

        logrotate)
                logrotate
        ;;

    setup)
                setup
    ;;

        *)
                echo "Usage: $0 <start|stop|restart|logrotate|setup>"
                exit 1
        ;;
esac