cron/sysstat-collect.timer
cron/sysstat-summary.service
cron/sysstat-summary.timer
+cron/sysstat.sleep
man/sa1.8
man/sa2.8
man/sadc.8
# Systemd
SYSTEMCTL = @SYSTEMCTL@
SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+SYSTEMD_SLEEP_DIR = @SYSTEMD_SLEEP_DIR@
ifndef USE_CROND
USE_CROND = @USE_CROND@
$(INSTALL_DATA) *.lsm $(DESTDIR)$(DOC_DIR)
endif
+ifdef SYSTEMD_UNIT_DIR
+install_all: install_base cron/sysstat-collect.service cron/sysstat-collect.timer \
+ cron/sysstat.sleep cron/sysstat-summary.service cron/sysstat-summary.timer
+else
install_all: install_base cron/crontab sysstat \
cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
+endif
+
ifneq ($(IGNORE_FILE_ATTRIBUTES),y)
$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
endif
mkdir -p $(DESTDIR)$(RC_DIR); \
fi
endif
+
+ifdef SYSTEMD_SLEEP_DIR
+ mkdir -p $(DESTDIR)$(SYSTEMD_SLEEP_DIR)
+endif
+
if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
if [ -d $(DESTDIR)/etc/cron.d ]; then \
$(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
fi \
fi \
fi
+ if [ -n "$(SYSTEMD_UNIT_DIR)" -a -n "$(SYSTEMD_SLEEP_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_SLEEP_DIR)" ]; then \
+ $(INSTALL_BIN) cron/sysstat.sleep $(DESTDIR)$(SYSTEMD_SLEEP_DIR); \
+ fi
+
ifeq ($(COPY_ONLY),n)
if [ -n "$(SYSTEMD_UNIT_DIR)" -a -x "$(SYSTEMCTL)" ]; then \
$(SYSTEMCTL) enable sysstat.service; \
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.service; \
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.timer; \
fi
+ if [ -n "$(SYSTEMD_UNIT_DIR)" -a -n "$(SYSTEMD_SLEEP_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_SLEEP_DIR)" ]; then \
+ rm -f $(DESTDIR)$(SYSTEMD_SLEEP_DIR)/sysstat.sleep; \
+ fi
ifeq ($(INSTALL_CRON),y)
uninstall: uninstall_all
almost-distclean: clean nls/sysstat.pot
rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h
rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service
- rm -f cron/sysstat-collect.service cron/sysstat-collect.timer cron/sysstat-summary.service cron/sysstat-summary.timer
+ rm -f cron/sysstat-collect.service cron/sysstat-collect.timer
+ rm -f cron/sysstat-summary.service cron/sysstat-summary.timer cron/sysstat.sleep
rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in
rm -f man/sa1.8 man/sa2.8 man/sadc.8 man/sadf.1 man/sar.1 man/iostat.1 man/sysstat.5
rm -f tests/variables tests/data
DFSENSORS
LFSENSORS
HAVE_SENSORS
+SYSTEMD_SLEEP_DIR
SYSTEMD_UNIT_DIR
SYSTEMCTL
PKG_CONFIG
ac_user_opts='
enable_option_checking
with_systemdsystemunitdir
+with_systemdsleepdir
enable_sensors
enable_pcp
enable_largefile
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-systemdsystemunitdir=DIR
Directory for systemd service files
+ --with-systemdsleepdir=DIR
+ Directory for systemd suspend/resume scripts
Some influential environment variables:
CC C compiler command
fi
+# Check whether --with-systemdsleepdir was given.
+if test "${with_systemdsleepdir+set}" = set; then :
+ withval=$with_systemdsleepdir;
+else
+ with_systemdsleepdir=$($PKG_CONFIG --variable=systemdsleepdir systemd)
+fi
+
+if test -n "$with_systemdsleepdir" -a "x$with_systemdsleepdir" != xno ; then
+ SYSTEMD_SLEEP_DIR=$with_systemdsleepdir
+
+fi
+
# Check libraries
# Check header files
ac_config_files="$ac_config_files cron/sysstat-summary.timer"
+ac_config_files="$ac_config_files cron/sysstat.sleep"
+ # Permissions must be changed
ac_config_files="$ac_config_files man/sa1.8:man/sa1.in"
# File must be renamed
ac_config_files="$ac_config_files man/sa2.8:man/sa2.in"
"cron/sysstat-collect.timer") CONFIG_FILES="$CONFIG_FILES cron/sysstat-collect.timer" ;;
"cron/sysstat-summary.service") CONFIG_FILES="$CONFIG_FILES cron/sysstat-summary.service" ;;
"cron/sysstat-summary.timer") CONFIG_FILES="$CONFIG_FILES cron/sysstat-summary.timer" ;;
+ "cron/sysstat.sleep") CONFIG_FILES="$CONFIG_FILES cron/sysstat.sleep" ;;
"man/sa1.8") CONFIG_FILES="$CONFIG_FILES man/sa1.8:man/sa1.in" ;;
"man/sa2.8") CONFIG_FILES="$CONFIG_FILES man/sa2.8:man/sa2.in" ;;
"man/sadc.8") CONFIG_FILES="$CONFIG_FILES man/sadc.8:man/sadc.in" ;;
"sa2":F) chmod +x sa2 ;;
"cron/sysstat.crond.sample.in":F) sed s/^/#/ cron/sysstat.crond.sample.in > cron/sysstat.crond.sample ;;
"sysstat":F) chmod +x sysstat ;;
+ "cron/sysstat.sleep":F) chmod +x cron/sysstat.sleep ;;
esac
done # for ac_tag
Init directory: ${INIT_DIR}"
if test "$UCROND" != "yes"; then
echo " Systemd unit dir: ${with_systemdsystemunitdir}"
+ echo " Systemd sleep dir: ${with_systemdsleepdir}"
else
echo " Use standard cron daemon"
fi
if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ; then
AC_SUBST([SYSTEMD_UNIT_DIR], [$with_systemdsystemunitdir])
fi
+AC_ARG_WITH([systemdsleepdir],
+ AS_HELP_STRING([--with-systemdsleepdir=DIR],[Directory for systemd suspend/resume scripts]),
+ [], [with_systemdsleepdir=$($PKG_CONFIG --variable=systemdsleepdir systemd)])
+if test -n "$with_systemdsleepdir" -a "x$with_systemdsleepdir" != xno ; then
+ AC_SUBST([SYSTEMD_SLEEP_DIR], [$with_systemdsleepdir])
+fi
# Check libraries
AC_CONFIG_FILES([cron/sysstat-collect.timer])
AC_CONFIG_FILES([cron/sysstat-summary.service])
AC_CONFIG_FILES([cron/sysstat-summary.timer])
+AC_CONFIG_FILES([cron/sysstat.sleep], [chmod +x cron/sysstat.sleep]) # Permissions must be changed
AC_CONFIG_FILES([man/sa1.8:man/sa1.in]) # File must be renamed
AC_CONFIG_FILES([man/sa2.8:man/sa2.in]) # File must be renamed
AC_CONFIG_FILES([man/sadc.8:man/sadc.in]) # File must be renamed
Init directory: ${INIT_DIR}"
if test "$UCROND" != "yes"; then
echo " Systemd unit dir: ${with_systemdsystemunitdir}"
+ echo " Systemd sleep dir: ${with_systemdsleepdir}"
else
echo " Use standard cron daemon"
fi
--- /dev/null
+#!/bin/sh
+# sysstat suspend/resume hack
+# for systemd's @SYSTEMD_SLEEP_DIR@ directory
+# (C) 2020 Sebastien Godard (sysstat <at> orange.fr)
+
+# Insert a comment in current daily datafile
+@SA_LIB_DIR@/sa1 --sleep $*
ENDIR=@SA_LIB_DIR@
cd ${ENDIR}
[ "$1" = "--boot" ] && shift && BOOT=y || BOOT=n
-if [ $# = 0 ] && [ "${BOOT}" = "n" ]
+[ "$1" = "--sleep" ] && shift && SLEEP=y || SLEEP=n
+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