310.accounting revision 65843
1#!/bin/sh
2#
3# $FreeBSD: head/etc/periodic/daily/310.accounting 65843 2000-09-14 17:19:15Z brian $
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
14case "$daily_accounting_enable" in
15    [Yy][Ee][Ss])
16	if [ ! -f /var/account/acct ]
17	then
18	    echo '$daily_accounting_enable is set but /var/account/acct' \
19		"doesn't exist"
20	    rc=2
21	else
22	    echo ""
23	    echo "Rotating accounting logs and gathering statistics:"
24
25	    cd /var/account
26	    rc=0
27
28	    rm -f acct.3.gz acct.3 || rc=3
29	    [ -f acct.2.gz ] && { mv -f acct.2.gz acct.3.gz || rc=3; }
30	    [ -f acct.2 ] &&    { mv -f acct.2 acct.3 || rc=3; }
31	    [ -f acct.1.gz ] && { mv -f acct.1.gz acct.2.gz || rc=3; }
32	    [ -f acct.1 ] &&    { mv -f acct.1 acct.2 || rc=3; }
33	    [ -f acct.0.gz ] && { mv -f acct.0.gz acct.1.gz || rc=3; }
34	    [ -f acct.0 ] &&    { mv -f acct.0 acct.1 || rc=3; }
35	    cp -pf acct acct.0 || rc=3
36	    sa -s >/dev/null || rc=3
37
38	    case "$daily_accounting_compress" in
39		[Yy][Ee][Ss])
40		    gzip -f acct.0 || rc=3;;
41	    esac
42	fi;;
43
44    *)  rc=0;;
45esac
46
47exit $rc
48