Hello,
The diffs below produce this output:
daily(8) email segment (if verbose):
System accounting records:
COMMANDS TIME I/O CORE USER
6407 22.02 70521 0 root
142 0.10 383 0 operator
440 1.07 0 0 sshd
1398 113.39 267245 0 _spamd
484 0.55 784 0 _postfix
4 0.00 2 0 _squid
76 0.10 118 0 _dovecot
8 0.01 21 0 _dovenull
36 0.01 333 0 _mlmmj
3198 4.57 9798 0 xxxxxxxxxxxxxxx
138 0.03 230 0 cvs
41 0.01 20 0 webmaster
76 0.27 581 0 postmaster
103 0.12 1152 0 sysadmin
153 0.04 224 0 hostmaster
53 0.01 91 0 xxxxxxxxxxxxx
4 0.01 4 0 xxxxxxxxxxx
USER is left justified in right column due to
passwd(5) names being upto 31 characters long.
$ ls -lh /var/account
total 844
-rw-r--r-- 1 root wheel 68.9K Jul 31 08:54 acct
-rw-r--r-- 1 root wheel 0B Jul 31 02:00 acct.bak
-rw-r--r-- 1 root wheel 56.0K Jul 31 01:30 acct.bak.0.gz
-rw-r--r-- 1 root wheel 44.7K Jul 30 01:30 acct.bak.1.gz
-rw-r--r-- 1 root wheel 37.8K Jul 29 01:30 acct.bak.2.gz
-rw-r--r-- 1 root wheel 37.9K Jul 28 01:30 acct.bak.3.gz
-rw-r--r-- 1 root wheel 24.2K Jul 27 01:30 acct.bak.4.gz
-rw-r--r-- 1 root wheel 33.0K Jul 26 01:30 acct.bak.5.gz
-rw-r--r-- 1 root wheel 46.8K Jul 25 01:30 acct.bak.6.gz
-rw-r--r-- 1 root wheel 32.0K Jul 31 01:30 savacct
-rw-r--r-- 1 root wheel 32.0K Jul 31 01:30 usracct
Index: daily
===================================================================
RCS file: /cvs/src/etc/daily,v
retrieving revision 1.83
diff -u -p -r1.83 daily
--- daily 29 Apr 2015 00:10:44 -0000 1.83
+++ daily 31 Jul 2015 07:51:13 -0000
@@ -64,14 +64,22 @@ fi
# >/dev/null 2>&1; }
#fi
-next_part "Purging accounting records:"
-if [ -f /var/account/acct ]; then
- mv -f /var/account/acct.2 /var/account/acct.3
- mv -f /var/account/acct.1 /var/account/acct.2
- mv -f /var/account/acct.0 /var/account/acct.1
- cp -f /var/account/acct /var/account/acct.0
- sa -sq
-fi
+
+next_part "System accounting records:"
+acct='/var/account/acct'
+[[ -f ${acct} && -s ${acct} ]] &&
+{
+ # For rotation by newsyslog:
+ cp -p ${acct} ${acct}.bak
+
+ if [[ ${VERBOSESTATUS} == '0' ]]
+ then
+ sa -sq
+ else
+ printf "%s%7s%9s%7s%7s\n" 'COMMANDS' 'TIME' 'I/O' 'CORE' 'USER'
+ sa -smi | awk '{ printf "%8d%7.2f%9d%7d %-s\n", $2, $3, $4,
$5, $1 }'
+ fi
+}
# If ROOTBACKUP is set to 1 in the environment, and
# if filesystem named /altroot is type ffs and mounted "xx",
Index: newsyslog.conf
===================================================================
RCS file: /cvs/src/etc/newsyslog.conf,v
retrieving revision 1.33
diff -u -p -r1.33 newsyslog.conf
--- newsyslog.conf 27 Aug 2014 13:46:32 -0000 1.33
+++ newsyslog.conf 31 Jul 2015 07:51:13 -0000
@@ -16,3 +16,4 @@
/var/log/pflog 600 3 250 * ZB "pkill -HUP -u
root -U root -t - -x pflogd"
/var/www/logs/access.log 644 4 * $W0 Z "pkill -USR1 -u
root -U root -x httpd"
/var/www/logs/error.log 644 7 250 * Z "pkill
-USR1 -u root -U root -x httpd"
+/var/account/acct.bak 644 7 1 * ZB