]> granicus.if.org Git - sysstat/blob - sa2.in
sysstat-12.3.3
[sysstat] / sa2.in
1 #!/bin/sh
2 # @SA_LIB_DIR@/sa2
3 # (C) 1999-2020 Sebastien Godard (sysstat <at> orange.fr)
4 #
5 #@(#) @PACKAGE_NAME@-@PACKAGE_VERSION@
6 #@(#) sa2: Write a daily report
7 #
8 S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
9 prefix=@prefix@
10 exec_prefix=@exec_prefix@
11 SA_DIR=@SA_DIR@
12 SYSCONFIG_DIR=@SYSCONFIG_DIR@
13 SYSCONFIG_FILE=@SYSCONFIG_FILE@
14 HISTORY=@HISTORY@
15 COMPRESSAFTER=@COMPRESSAFTER@
16 ZIP="@ZIP@"
17 UMASK=0022
18 ENDIR=@SAR_DIR@
19
20 # Read configuration file, overriding variables set above
21 [ -r ${SYSCONFIG_DIR}/${SYSCONFIG_FILE} ] && . ${SYSCONFIG_DIR}/${SYSCONFIG_FILE}
22
23 umask ${UMASK}
24
25 [ -d ${SA_DIR} ] || SA_DIR=@SA_DIR@
26
27 # if YESTERDAY=no then today's summary is generated
28 if [ x$YESTERDAY = xno ]
29 then
30         DATE_OPTS=
31 else
32         DATE_OPTS="--date=yesterday"
33 fi
34
35 if [ ${HISTORY} -gt 28 ]
36 then
37         DATE=`date ${DATE_OPTS} +%Y%m%d`
38 else
39         DATE=`date ${DATE_OPTS} +%d`
40 fi
41 CURRENTFILE=sa${DATE}
42 CURRENTRPT=sar${DATE}
43
44 RPT=${SA_DIR}/${CURRENTRPT}
45 DFILE=${SA_DIR}/${CURRENTFILE}
46 if [ -z "${ENDIR}" ];
47 then
48        ENDIR=@bindir@
49 fi
50
51 [ -f "${DFILE}" ] || exit 0
52 cd ${ENDIR}
53 if [ x${REPORTS} != xfalse ]
54 then
55         ${ENDIR}/sar $* -f ${DFILE} > ${RPT}
56 fi
57
58 SAFILES_REGEX='/sar?[0-9]{2,8}(\.(Z|gz|bz2|xz|lz|lzo))?$'
59
60 find "${SA_DIR}" -type f -mtime +${HISTORY} \
61         | egrep "${SAFILES_REGEX}" \
62         | xargs   rm -f
63
64 UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9]{2,8}$'
65
66 find "${SA_DIR}" -type f -mtime +${COMPRESSAFTER} \
67         | egrep "${UNCOMPRESSED_SAFILES_REGEX}" \
68         | xargs -r "${ZIP}" > /dev/null
69
70 exit 0