]> granicus.if.org Git - sysstat/blob - sa2.in
Update non regression tests
[sysstat] / sa2.in
1 #!/bin/sh
2 # @SA_LIB_DIR@/sa2
3 # (C) 1999-2023 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 DELAY_RANGE=@DELAY_RANGE@
20
21 # Read configuration file, overriding variables set above
22 [ -r ${SYSCONFIG_DIR}/${SYSCONFIG_FILE} ] && . ${SYSCONFIG_DIR}/${SYSCONFIG_FILE}
23
24 umask ${UMASK}
25
26 # Wait for a random delay if requested
27 if [ ${DELAY_RANGE} -gt 0 ]
28 then
29         RANDOM=$$
30         DELAY=$((${RANDOM}%${DELAY_RANGE}))
31         sleep ${DELAY}
32 fi
33
34 [ -d ${SA_DIR} ] || SA_DIR=@SA_DIR@
35
36 # if YESTERDAY=no then today's summary is generated
37 if [ x$YESTERDAY = xno ]
38 then
39         DATE_OPTS=
40 else
41         DATE_OPTS="--date=yesterday"
42 fi
43
44 if [ ${HISTORY} -gt 28 ]
45 then
46         DATE=`date ${DATE_OPTS} +%Y%m%d`
47 else
48         DATE=`date ${DATE_OPTS} +%d`
49 fi
50 CURRENTFILE=sa${DATE}
51 CURRENTRPT=sar${DATE}
52
53 RPT=${SA_DIR}/${CURRENTRPT}
54 DFILE=${SA_DIR}/${CURRENTFILE}
55 if [ -z "${ENDIR}" ];
56 then
57        ENDIR=@bindir@
58 fi
59
60 [ -f "${DFILE}" ] || exit 0
61 cd ${ENDIR}
62 if [ x${REPORTS} != xfalse ]
63 then
64         S_REPEAT_HEADER=${REPEAT_HEADER} ${ENDIR}/sar $* -f ${DFILE} > ${RPT}
65 fi
66
67 SAFILES_REGEX='/sar?[0-9]{2,8}(\.(Z|gz|bz2|xz|lz|lzo))?$'
68
69 find "${SA_DIR}" -type f -mtime +${HISTORY} \
70         | grep -E "${SAFILES_REGEX}" \
71         | xargs   rm -f
72
73 UNCOMPRESSED_SAFILES_REGEX='/sar?[0-9]{2,8}$'
74
75 find "${SA_DIR}" -type f -mtime +${COMPRESSAFTER} \
76         | grep -E "${UNCOMPRESSED_SAFILES_REGEX}" \
77         | xargs -r "${ZIP}" > /dev/null
78
79 exit 0