#!/bin/sh
# /usr/lib/sa/sa2.sh
# (C) 1999-2005 Sebastien Godard (sysstat <at> wanadoo.fr)
#
# Changes:
# - 2004-01-22 Nils Philippsen <nphilipp@redhat.com>
#   make history configurable
#
HISTORY=7
[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
[ ${HISTORY} -gt 28 ] && HISTORY=28
S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
umask 0022
ENDIR=/usr/bin
LOCKFILE=/var/log/sa/sadc.LOCK

cd ${ENDIR}
if ! lockfile -r6 -600 $LOCKFILE 2>/dev/null; then
  if test `find $LOCKFILE -mmin +180 2>/dev/null`; then
    rm -f $LOCKFILE
    logger -p cron.alert "$0: detected an old lockfile \"$LOCKFILE\"."
  fi
fi
trap "rm -f $LOCKFILE" EXIT

#
# look for sa files newer than 7 days
#
for DFILE in `find /var/log/sa -name 'sa.*' -mtime -"${HISTORY}"` ; do
  RPT=/var/log/sa/sar.${DFILE##*.}
  # if sa is newer than sar, regenerate sar
  if test ! -e ${RPT} -o ${DFILE} -nt ${RPT} ; then
    ${ENDIR}/sar $* -f ${DFILE} > ${RPT}
  fi
done
find /var/log/sa \( -name 'sar.????_??_??' -o -name 'sa.????_??_??'  \) -mtime +"${HISTORY}" -exec rm -f {} \;
