From 6eb9bd2d1f013fd4576c217cf59567fade496256 Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Tue, 20 Nov 2001 15:01:24 +0000 Subject: [PATCH] Handle wtmp.0 being compressed PR: 32113 Submitted by: Yar Tikhiy MFC after: 1 week --- etc/periodic/monthly/200.accounting | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/etc/periodic/monthly/200.accounting b/etc/periodic/monthly/200.accounting index f808bbf8a853..402c36dbff85 100755 --- a/etc/periodic/monthly/200.accounting +++ b/etc/periodic/monthly/200.accounting @@ -14,18 +14,29 @@ fi case "$monthly_accounting_enable" in [Yy][Ee][Ss]) W=/var/log/wtmp + rc=0 + remove=NO if [ ! -f $W.0 ] then - echo '$monthly_accounting_enable is set but' \ - "$W.0 doesn't exist" - rc=2 - else + if [ -f $W.0.gz ] + then + remove=YES + zcat $W.0.gz > $W.0 || rc=1 + else + echo '$monthly_accounting_enable is set but' \ + "$W.0 doesn't exist" + rc=2 + fi + fi + if [ $rc -eq 0 ] + then echo "" echo "Doing login accounting:" rc=$(ac -p -w $W.0 | sort -nr +1 | tee /dev/stderr | wc -l) [ $rc -gt 0 ] && rc=1 - fi;; + fi + [ $remove = YES ] && rm -f $W.0;; *) rc=0;; esac