about summary refs log blame commit diff stats
path: root/linux/conf/rc.d/git-daemon
blob: 41793eb7464855762f20dbe2e3ff6bad3aa53a8b (plain) (tree)










































                                                               
#!/bin/sh

SSD=/sbin/start-stop-daemon
NAME=git-daemon
PROG=$(git --exec-path)/${NAME}
USER=gitolite
GROUP=gitolite
PIDFILE=/var/run/git-daemon.pid
REPOS=/srv/gitolite/repositories
OPTS="--verbose --reuseaddr --base-path=${REPOS}"

case $1 in
    start)
        echo "Starting ${NAME}..."
        $SSD --start \
            --pidfile ${PIDFILE} \
            --exec ${PROG} -- ${OPTS} \
            --detach --pid-file=${PIDFILE} \
            --user=${USER} --group=${GROUP}

    ;;
    stop)
        echo "Stopping ${NAME}..."
        $SSD --stop --quiet --name git-daemon \
                            --pidfile ${PIDFILE}
        ;;
    restart)
        echo "Restarting ${NAME}..."
        $0 stop
        $0 start
        ;;
    status)
        $SSD --status --pidfile $PIDFILE
        case $? in
        0) echo "$PROG is running with pid $(cat $PIDFILE )" ;;
        3) echo "$PROG is not running" ;;
        4) echo "Unable to determine the program status" ;;
        esac
        ;;
    *)
        echo "usage: $0 [start|stop|restart|status]"
        ;;
esac