310.accounting revision 77492
128263Spst#!/bin/sh 228263Spst# 350472Speter# $FreeBSD: head/etc/periodic/daily/310.accounting 77492 2001-05-30 16:46:53Z brian $ 428263Spst# 528263Spst 661981Sbrian# If there is a global system configuration file, suck it in. 761981Sbrian# 861981Sbrianif [ -r /etc/defaults/periodic.conf ] 961981Sbrianthen 1061981Sbrian . /etc/defaults/periodic.conf 1161981Sbrian source_periodic_confs 1261981Sbrianfi 1328320Spst 1461981Sbriancase "$daily_accounting_enable" in 1561981Sbrian [Yy][Ee][Ss]) 1665843Sbrian if [ ! -f /var/account/acct ] 1761981Sbrian then 1865843Sbrian echo '$daily_accounting_enable is set but /var/account/acct' \ 1965843Sbrian "doesn't exist" 2065843Sbrian rc=2 2165843Sbrian else 2261981Sbrian echo "" 2361981Sbrian echo "Rotating accounting logs and gathering statistics:" 2461981Sbrian 2561981Sbrian cd /var/account 2665843Sbrian rc=0 2777492Sbrian 2877492Sbrian n=$daily_accounting_save 2977492Sbrian rm -f acct.$n.gz acct.$n || rc=3 3077492Sbrian m=$n 3177492Sbrian n=$(($n - 1)) 3277492Sbrian while [ $n -ge 0 ] 3377492Sbrian do 3477492Sbrian [ -f acct.$n.gz ] && { mv -f acct.$n.gz acct.$m.gz || rc=3; } 3577492Sbrian [ -f acct.$n ] && { mv -f acct.$n acct.$m || rc=3; } 3677492Sbrian m=$n 3777492Sbrian n=$(($n - 1)) 3877492Sbrian done 3965843Sbrian cp -pf acct acct.0 || rc=3 4077492Sbrian sa -s $daily_accounting_flags || rc=3 4162054Sbrian 4262054Sbrian case "$daily_accounting_compress" in 4362054Sbrian [Yy][Ee][Ss]) 4465843Sbrian gzip -f acct.0 || rc=3;; 4562054Sbrian esac 4661981Sbrian fi;; 4765843Sbrian 4865843Sbrian *) rc=0;; 4961981Sbrianesac 5065843Sbrian 5165843Sbrianexit $rc 52