]> granicus.if.org Git - sysstat/blobdiff - sa2.in
Merge branch 'scop-grep-E'
[sysstat] / sa2.in
diff --git a/sa2.in b/sa2.in
index a2dd19ad3a6e28c10bd67c2c958e9777c469c99e..92bce8d92ca8e9f5c7035399b1c72c2a82448f21 100644 (file)
--- a/sa2.in
+++ b/sa2.in
@@ -1,22 +1,35 @@
 #!/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@"
+UMASK=0022
+ENDIR=@SAR_DIR@
+DELAY_RANGE=@DELAY_RANGE@
 
 # Read configuration file, overriding variables set above
-[ -r ${SYSCONFIG_DIR}/sysstat ] && . ${SYSCONFIG_DIR}/sysstat
+[ -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@
 
@@ -30,32 +43,37 @@ fi
 
 if [ ${HISTORY} -gt 28 ]
 then
-       DATE=`date "${DATE_OPTS}" +%Y%m%d`
+       DATE=`date ${DATE_OPTS} +%Y%m%d`
 else
-       DATE=`date "${DATE_OPTS}" +%d`
+       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
 cd ${ENDIR}
-${ENDIR}/sar $* -f ${DFILE} > ${RPT}
+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} \
-       | egrep "${SAFILES_REGEX}" \
+       | grep -E "${SAFILES_REGEX}" \
        | xargs   rm -f
 
 UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9]{2,8}$'
 
 find "${SA_DIR}" -type f -mtime +${COMPRESSAFTER} \
-       | egrep "${UNCOMPRESSED_SAFILES_REGEX}" \
-       | xargs   "${ZIP}" > /dev/null
+       | grep -E "${UNCOMPRESSED_SAFILES_REGEX}" \
+       | xargs -r "${ZIP}" > /dev/null
 
 exit 0
-