#!/bin/bash
# chkconfig: 2345 99 01
# description: Whatap Updater

. /etc/rc.d/init.d/functions

UPDATER="/usr/whatap/infra/infra_agent_patch.sh"
ENVFILE="/usr/whatap/infra/whatap.env"
PIDFILE="/run/whatap-updater.pid"
LOG="/var/log/whatap-updater.log"
LOCKFILE="/var/lock/subsys/whatap-updater"

start() {
    echo -n "Starting whatap-updater: "
    mkdir -p /run >/dev/null 2>&1 || true
    if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
        echo "already running"
        return 0
    fi
    nohup setsid /bin/bash -c "echo \$\$ > '$PIDFILE'; exec '$UPDATER' '$ENVFILE'" >> "$LOG" 2>&1 &
    rc=$?
    echo
    [ $rc -eq 0 ] && touch "$LOCKFILE"
    return $rc
}

stop() {
    echo -n "Stopping whatap-updater: "
    killproc -p "$PIDFILE" whatap-updater
    rc=$?
    echo
    rm -f "$LOCKFILE" "$PIDFILE"
    return $rc
}

do_status() {
    status -p "$PIDFILE" whatap-updater
}

case "$1" in
    start) start ;;
    stop) stop ;;
    restart) stop; start ;;
    status) do_status ;;
    *) echo "Usage: $0 {start|stop|restart|status}"; exit 2 ;;
esac
exit $?

