#!/bin/sh
# @SA_LIB_DIR@/sa2
-# (C) 1999-2014 Sebastien Godard (sysstat <at> orange.fr)
+# (C) 1999-2021 Sebastien Godard (sysstat <at> orange.fr)
#
#@(#) @PACKAGE_NAME@-@PACKAGE_VERSION@
#@(#) sa2: Write a daily report
#
S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
-umask 0022
prefix=@prefix@
exec_prefix=@exec_prefix@
SA_DIR=@SA_DIR@
SYSCONFIG_DIR=@SYSCONFIG_DIR@
+SYSCONFIG_FILE=@SYSCONFIG_FILE@
HISTORY=@HISTORY@
COMPRESSAFTER=@COMPRESSAFTER@
ZIP="@ZIP@"
-YESTERDAY=@YESTERDAY@
-DATE=`date ${YESTERDAY} +%d`
+UMASK=0022
+ENDIR=@SAR_DIR@
+DELAY_RANGE=@DELAY_RANGE@
+
+# Read configuration file, overriding variables set above
+[ -r ${SYSCONFIG_DIR}/${SYSCONFIG_FILE} ] && . ${SYSCONFIG_DIR}/${SYSCONFIG_FILE}
+
+umask ${UMASK}
+
+# Wait for a random delay if requested
+if [ ${DELAY_RANGE} -gt 0 ]
+then
+ RANDOM=$$
+ DELAY=$((${RANDOM}%${DELAY_RANGE}))
+ sleep ${DELAY}
+fi
-[ -r ${SYSCONFIG_DIR}/sysstat ] && . ${SYSCONFIG_DIR}/sysstat
[ -d ${SA_DIR} ] || SA_DIR=@SA_DIR@
+# if YESTERDAY=no then today's summary is generated
+if [ x$YESTERDAY = xno ]
+then
+ DATE_OPTS=
+else
+ DATE_OPTS="--date=yesterday"
+fi
+
if [ ${HISTORY} -gt 28 ]
then
- DATE=`date ${YESTERDAY} +%Y%m%d`
+ DATE=`date ${DATE_OPTS} +%Y%m%d`
+else
+ DATE=`date ${DATE_OPTS} +%d`
fi
CURRENTFILE=sa${DATE}
CURRENTRPT=sar${DATE}
RPT=${SA_DIR}/${CURRENTRPT}
DFILE=${SA_DIR}/${CURRENTFILE}
-ENDIR=@bindir@
+if [ -z "${ENDIR}" ];
+then
+ ENDIR=@bindir@
+fi
-[ -f "$DFILE" ] || exit 0
+[ -f "${DFILE}" ] || exit 0
cd ${ENDIR}
-${ENDIR}/sar $* -f ${DFILE} > ${RPT}
+if [ x${REPORTS} != xfalse ]
+then
+ ${ENDIR}/sar $* -f ${DFILE} > ${RPT}
+fi
-SAFILES_REGEX='/sar?[0-9][0-9]+(\.(gz|bz2|xz|lz|lzo))?$'
+SAFILES_REGEX='/sar?[0-9]{2,8}(\.(Z|gz|bz2|xz|lz|lzo))?$'
-find "$SA_DIR" -type f -mtime +"$HISTORY" \
- | egrep "$SAFILES_REGEX" \
+find "${SA_DIR}" -type f -mtime +${HISTORY} \
+ | grep -E "${SAFILES_REGEX}" \
| xargs rm -f
-UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9][0-9]+$'
+UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9]{2,8}$'
-find "$SA_DIR" -type f -mtime +"$COMPRESSAFTER" \
- | egrep "$UNCOMPRESSED_SAFILES_REGEX" \
- | xargs $ZIP > /dev/null
+find "${SA_DIR}" -type f -mtime +${COMPRESSAFTER} \
+ | grep -E "${UNCOMPRESSED_SAFILES_REGEX}" \
+ | xargs -r "${ZIP}" > /dev/null
exit 0
-