1997-08-16 17:04:02 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
1999-08-27 23:37:10 +00:00
|
|
|
# $FreeBSD$
|
1997-08-16 17:04:02 +00:00
|
|
|
#
|
|
|
|
|
2000-06-23 01:18:31 +00:00
|
|
|
# If there is a global system configuration file, suck it in.
|
|
|
|
#
|
|
|
|
if [ -r /etc/defaults/periodic.conf ]
|
|
|
|
then
|
|
|
|
. /etc/defaults/periodic.conf
|
|
|
|
source_periodic_confs
|
1997-08-16 17:04:02 +00:00
|
|
|
fi
|
2000-06-23 01:18:31 +00:00
|
|
|
|
|
|
|
case "$daily_accounting_enable" in
|
|
|
|
[Yy][Ee][Ss])
|
2000-09-14 17:19:15 +00:00
|
|
|
if [ ! -f /var/account/acct ]
|
2000-06-23 01:18:31 +00:00
|
|
|
then
|
2000-09-14 17:19:15 +00:00
|
|
|
echo '$daily_accounting_enable is set but /var/account/acct' \
|
|
|
|
"doesn't exist"
|
|
|
|
rc=2
|
|
|
|
else
|
2000-06-23 01:18:31 +00:00
|
|
|
echo ""
|
|
|
|
echo "Rotating accounting logs and gathering statistics:"
|
|
|
|
|
|
|
|
cd /var/account
|
2000-09-14 17:19:15 +00:00
|
|
|
rc=0
|
2000-06-25 08:59:26 +00:00
|
|
|
|
2000-09-14 17:19:15 +00:00
|
|
|
rm -f acct.3.gz acct.3 || rc=3
|
|
|
|
[ -f acct.2.gz ] && { mv -f acct.2.gz acct.3.gz || rc=3; }
|
|
|
|
[ -f acct.2 ] && { mv -f acct.2 acct.3 || rc=3; }
|
|
|
|
[ -f acct.1.gz ] && { mv -f acct.1.gz acct.2.gz || rc=3; }
|
|
|
|
[ -f acct.1 ] && { mv -f acct.1 acct.2 || rc=3; }
|
|
|
|
[ -f acct.0.gz ] && { mv -f acct.0.gz acct.1.gz || rc=3; }
|
|
|
|
[ -f acct.0 ] && { mv -f acct.0 acct.1 || rc=3; }
|
|
|
|
cp -pf acct acct.0 || rc=3
|
|
|
|
sa -s >/dev/null || rc=3
|
2000-06-25 08:59:26 +00:00
|
|
|
|
|
|
|
case "$daily_accounting_compress" in
|
|
|
|
[Yy][Ee][Ss])
|
2000-09-14 17:19:15 +00:00
|
|
|
gzip -f acct.0 || rc=3;;
|
2000-06-25 08:59:26 +00:00
|
|
|
esac
|
2000-06-23 01:18:31 +00:00
|
|
|
fi;;
|
2000-09-14 17:19:15 +00:00
|
|
|
|
|
|
|
*) rc=0;;
|
2000-06-23 01:18:31 +00:00
|
|
|
esac
|
2000-09-14 17:19:15 +00:00
|
|
|
|
|
|
|
exit $rc
|