Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[games.git] / etc / periodic / daily / 310.accounting
1 #!/bin/sh
2 #
3 # $FreeBSD: src/etc/periodic/daily/310.accounting,v 1.3.2.3 2001/06/13 19:36:50 brian Exp $
4 # $DragonFly: src/etc/periodic/daily/310.accounting,v 1.2 2003/06/17 04:24:48 dillon Exp $
5 #
6
7 # If there is a global system configuration file, suck it in.
8 #
9 if [ -r /etc/defaults/periodic.conf ]
10 then
11     . /etc/defaults/periodic.conf
12     source_periodic_confs
13 fi
14
15 case "$daily_accounting_enable" in
16     [Yy][Ee][Ss])
17         if [ ! -f /var/account/acct ]
18         then
19             echo '$daily_accounting_enable is set but /var/account/acct' \
20                 "doesn't exist"
21             rc=2
22         elif [ -z "$daily_accounting_save" ]
23         then
24             echo '$daily_accounting_enable is set but ' \
25                 '$daily_accounting_save is not'
26             rc=2
27         else
28             echo ""
29             echo "Rotating accounting logs and gathering statistics:"
30
31             cd /var/account
32             rc=0
33         
34             n=$daily_accounting_save
35             rm -f acct.$n.gz acct.$n || rc=3
36             m=$n
37             n=$(($n - 1))
38             while [ $n -ge 0 ]
39             do
40                 [ -f acct.$n.gz ] && { mv -f acct.$n.gz acct.$m.gz || rc=3; }
41                 [ -f acct.$n ] &&    { mv -f acct.$n acct.$m || rc=3; }
42                 m=$n
43                 n=$(($n - 1))
44             done
45             cp -pf acct acct.0 || rc=3
46             sa -s $daily_accounting_flags || rc=3
47
48             case "$daily_accounting_compress" in
49                 [Yy][Ee][Ss])
50                     gzip -f acct.0 || rc=3;;
51             esac
52         fi;;
53
54     *)  rc=0;;
55 esac
56
57 exit $rc