diff options
author | Brian Somers <brian@FreeBSD.org> | 2001-06-13 19:36:50 +0000 |
---|---|---|
committer | Brian Somers <brian@FreeBSD.org> | 2001-06-13 19:36:50 +0000 |
commit | 74d794544a16cc994d7c7b55ce50dd39dd0e9b0c (patch) | |
tree | 29335dde4a78d4cfdf7507f8f8a548582fa55ab5 /etc/periodic | |
parent | 184d0bca97ac196830c4a70ae7d64c3d6c66f4ac (diff) | |
download | src-74d794544a16cc994d7c7b55ce50dd39dd0e9b0c.tar.gz src-74d794544a16cc994d7c7b55ce50dd39dd0e9b0c.zip |
MFC: Add $daily_accounting_save and $daily_accounting_flags
Notes
Notes:
svn path=/stable/4/; revision=78181
Diffstat (limited to 'etc/periodic')
-rwxr-xr-x | etc/periodic/daily/310.accounting | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/etc/periodic/daily/310.accounting b/etc/periodic/daily/310.accounting index c510a94209a2..ceb140c76b9a 100755 --- a/etc/periodic/daily/310.accounting +++ b/etc/periodic/daily/310.accounting @@ -18,22 +18,31 @@ case "$daily_accounting_enable" in echo '$daily_accounting_enable is set but /var/account/acct' \ "doesn't exist" rc=2 + elif [ -z "$daily_accounting_save" ] + then + echo '$daily_accounting_enable is set but ' \ + '$daily_accounting_save is not' + rc=2 else echo "" echo "Rotating accounting logs and gathering statistics:" cd /var/account rc=0 - - 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; } + + n=$daily_accounting_save + rm -f acct.$n.gz acct.$n || rc=3 + m=$n + n=$(($n - 1)) + while [ $n -ge 0 ] + do + [ -f acct.$n.gz ] && { mv -f acct.$n.gz acct.$m.gz || rc=3; } + [ -f acct.$n ] && { mv -f acct.$n acct.$m || rc=3; } + m=$n + n=$(($n - 1)) + done cp -pf acct acct.0 || rc=3 - sa -s >/dev/null || rc=3 + sa -s $daily_accounting_flags || rc=3 case "$daily_accounting_compress" in [Yy][Ee][Ss]) |