1#!/bin/sh - 2# 3# $FreeBSD: head/etc/periodic/monthly/200.accounting 202218 2010-01-13 19:07:48Z ed $ 4# 5 6# If there is a global system configuration file, suck it in. 7# 8if [ -r /etc/defaults/periodic.conf ] 9then 10 . /etc/defaults/periodic.conf 11 source_periodic_confs 12fi 13 14oldmask=$(umask) 15umask 066 16case "$monthly_accounting_enable" in 17 [Yy][Ee][Ss]) 18 W=/var/log/wtmpx 19 rc=0 20 remove=NO 21 if [ ! -f $W.0 ] 22 then 23 if [ -f $W.0.gz ] 24 then 25 remove=YES 26 zcat $W.0.gz > $W.0 || rc=1 27 elif [ -f $W.0.bz2 ] 28 then 29 remove=YES 30 bzcat $W.0.bz2 > $W.0 || rc=1 31 elif [ -f $W.0.xz ] 32 then 33 remove=YES 34 xzcat $W.0.xz > $W.0 || rc=1 35 elif [ -f $W.0.zst ] 36 then 37 remove=YES 38 zstdcat $W.0.zstd > $W.0 || rc=1 39 else 40 echo '$monthly_accounting_enable is set but' \ 41 "$W.0 doesn't exist" 42 rc=2 43 fi 44 fi 45 if [ $rc -eq 0 ] 46 then 47 echo "" 48 echo "Doing login accounting:" 49 50 rc=$(ac -p -w $W.0 | sort -nr -k 2 | tee /dev/stderr | wc -l) 51 [ $rc -gt 0 ] && rc=1 52 fi 53 [ $remove = YES ] && rm -f $W.0;; 54 55 *) rc=0;; 56esac 57 58umask $oldmask 59exit $rc 60