LQPP/lf-daemon.sh

Aus Piratenwiki
Wechseln zu: Navigation, Suche
#!/bin/sh

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

LOGFILE="/var/log/lf-daemon.log"
PIDFILE="/var/run/lf-daemon.pid"
LASTDURATIONFILE=/

PID=$$

# log to console, logfile and syslog
log () {
  echo "$1"
  echo "$( date '+%R %F' ) $1" | tee -a "${LOGFILE}" | logger -t "lf-daemon"
}
# start only once
if [ -f "${PIDFILE}" ] && kill -CONT $( cat "${PIDFILE}" ) 2>/dev/null
then
  log "lf-daemon is already running"
  exit 1
fi

# save pid
echo "${PID}" > "${PIDFILE}"
log "running lf-daemon.sh with PID ${PID}" 

while true do
do
  MSG=$( /usr/bin/time --format="run time was: %e" -a -o "${LOGFILE}" nice /opt/liquid_feedback/core/lf_update dbname=liquid_feedback_pp 2>&1 )
  ERR="$?"
  if [ "$ERR" -ne 0 ]
  then
    log "ERROR: $ERR  Message: $MSG"
  fi
  SLEEPTIME=$( awk '{ print $1 *20 + 5 }' /proc/loadavg )
  log "sleeping $SLEEPTIME"
  sleep $SLEEPTIME
done