mirror of https://gitee.com/openkylin/sysstat.git
80 lines
1.6 KiB
Bash
80 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# @SA_LIB_DIR@/sa2
|
|
# (C) 1999-2022 Sebastien Godard (sysstat <at> orange.fr)
|
|
#
|
|
#@(#) @PACKAGE_NAME@-@PACKAGE_VERSION@
|
|
#@(#) sa2: Write a daily report
|
|
#
|
|
S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
SA_DIR=@SA_DIR@
|
|
SYSCONFIG_DIR=@SYSCONFIG_DIR@
|
|
SYSCONFIG_FILE=@SYSCONFIG_FILE@
|
|
HISTORY=@HISTORY@
|
|
COMPRESSAFTER=@COMPRESSAFTER@
|
|
ZIP="@ZIP@"
|
|
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
|
|
|
|
[ -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 ${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}
|
|
if [ -z "${ENDIR}" ];
|
|
then
|
|
ENDIR=@bindir@
|
|
fi
|
|
|
|
[ -f "${DFILE}" ] || exit 0
|
|
cd ${ENDIR}
|
|
if [ x${REPORTS} != xfalse ]
|
|
then
|
|
${ENDIR}/sar $* -f ${DFILE} > ${RPT}
|
|
fi
|
|
|
|
SAFILES_REGEX='/sar?[0-9]{2,8}(\.(Z|gz|bz2|xz|lz|lzo))?$'
|
|
|
|
find "${SA_DIR}" -type f -mtime +${HISTORY} \
|
|
| grep -E "${SAFILES_REGEX}" \
|
|
| xargs rm -f
|
|
|
|
UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9]{2,8}$'
|
|
|
|
find "${SA_DIR}" -type f -mtime +${COMPRESSAFTER} \
|
|
| grep -E "${UNCOMPRESSED_SAFILES_REGEX}" \
|
|
| xargs -r "${ZIP}" > /dev/null
|
|
|
|
exit 0
|