64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# /usr/lib/sysstat/sa1
|
|
# (C) 1999-2022 Sebastien Godard (sysstat <at> orange.fr)
|
|
#
|
|
#@(#) sysstat-12.6.1
|
|
#@(#) sa1: Collect and store binary data in system activity data file.
|
|
#
|
|
|
|
# Set default value for some variables.
|
|
# Used only if ${SYSCONFIG_DIR}/${SYSCONFIG_FILE} doesn't exist!
|
|
HISTORY=0
|
|
SADC_OPTIONS=""
|
|
SA_DIR=/var/log/sysstat
|
|
SYSCONFIG_DIR=/etc/sysstat
|
|
SYSCONFIG_FILE=sysstat
|
|
UMASK=0022
|
|
LONG_NAME=n
|
|
|
|
[ -r ${SYSCONFIG_DIR}/${SYSCONFIG_FILE} ] && . ${SYSCONFIG_DIR}/${SYSCONFIG_FILE}
|
|
|
|
umask ${UMASK}
|
|
|
|
# If the user-supplied value for SA_DIR in sysconfig file is not a directory
|
|
# then fall back on default directory. Create this default directory if it doesn't exist.
|
|
[ -d ${SA_DIR} ] || SA_DIR=/var/log/sysstat
|
|
[ -d /var/log/sysstat ] || mkdir /var/log/sysstat
|
|
|
|
if [ ${HISTORY} -gt 28 ]
|
|
then
|
|
SADC_OPTIONS="${SADC_OPTIONS} -D"
|
|
LONG_NAME=y
|
|
fi
|
|
|
|
ENDIR=/usr/lib/sysstat
|
|
cd ${ENDIR}
|
|
[ "$1" = "--boot" ] && shift && BOOT=y || BOOT=n
|
|
[ "$1" = "--sleep" ] && shift && SLEEP=y || SLEEP=n
|
|
|
|
ROTATE=n
|
|
[ "$1" = "--rotate" ] && shift && ROTATE=y && [ "$1" = "iso" ] && shift && LONG_NAME=y
|
|
if [ "${ROTATE}" = "y" ]
|
|
then
|
|
if [ "${LONG_NAME}" = "y" ]
|
|
then
|
|
DATE=`date --date=yesterday +%Y%m%d`
|
|
else
|
|
DATE=`date --date=yesterday +%d`
|
|
fi
|
|
SA_DIR=${SA_DIR}/sa${DATE}
|
|
fi
|
|
|
|
if [ "${SLEEP}" = "y" ]
|
|
then
|
|
exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} -C "LINUX SLEEP MODE ($*)" ${SA_DIR}
|
|
elif [ $# = 0 ] && [ "${BOOT}" = "n" ]
|
|
then
|
|
# Note: Stats are written at the end of previous file *and* at the
|
|
# beginning of the new one (when there is a file rotation) only if
|
|
# outfile has not been explicitly specified on the command line...
|
|
exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} 1 1 ${SA_DIR}
|
|
else
|
|
exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} $* ${SA_DIR}
|
|
fi
|