LQPP/lf-daemon.sh
< LQPP
#!/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