aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>2001-06-13 19:36:50 +0000
committerBrian Somers <brian@FreeBSD.org>2001-06-13 19:36:50 +0000
commit74d794544a16cc994d7c7b55ce50dd39dd0e9b0c (patch)
tree29335dde4a78d4cfdf7507f8f8a548582fa55ab5 /etc
parent184d0bca97ac196830c4a70ae7d64c3d6c66f4ac (diff)
downloadsrc-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')
-rw-r--r--etc/defaults/periodic.conf2
-rwxr-xr-xetc/periodic/daily/310.accounting27
2 files changed, 20 insertions, 9 deletions
diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf
index 8b838995552e..706a29c74700 100644
--- a/etc/defaults/periodic.conf
+++ b/etc/defaults/periodic.conf
@@ -79,6 +79,8 @@ daily_calendar_enable="NO" # Run calendar -a
# 310.accounting
daily_accounting_enable="YES" # Rotate acct files
daily_accounting_compress="NO" # Gzip rotated files
+daily_accounting_flags=-q # Flags to /usr/sbin/sa
+daily_accounting_save=3 # How many files to save
# 320.distfile
daily_distfile_enable="YES" # Run rdist daily
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])