runacct(1M) runacct(1M)
NAME
runacct - run daily accounting
SYNOPSIS
/usr/lib/acct/runacct [mmdd [state]]
DESCRIPTION
runacct is the main daily accounting shell procedure. It is normally
initiated via cron. runacct processes connect, fee, disk, and
process accounting files. It also prepares summary files for prdaily
or billing purposes. runacct is distributed only to source code
licensees.
runacct takes care not to damage active accounting files or summary
files in the event of errors. It records its progress by writing
descriptive diagnostic messages into active. When an error is
detected, a message is written to /dev/console, mail [see mail(1)] is
sent to root and adm, and runacct terminates. runacct uses a series
of lock files to protect against re-invocation. The files lock and
lock1 are used to prevent simultaneous invocation, and lastdate is
used to prevent more than one invocation per day.
runacct breaks its processing into separate, restartable states using
statefile to remember the last state completed. It accomplishes this
by writing the state name into statefile. runacct then looks in
statefile to see what it has done and to determine what to process
next. states are executed in the following order:
SETUP Move active accounting files into working files.
WTMPFIX
Verify integrity of wtmp file, correcting date changes if
necessary.
CONNECT
Produce connect session records in tacct.h format.
PROCESS
Convert process accounting records into tacct.h format.
MERGE Merge the connect and process accounting records.
FEES Convert output of chargefee into tacct.h format and merge with
connect and process accounting records.
DISK Merge disk accounting records with connect, process, and fee
accounting records.
MERGETACCT
Merge the daily total accounting records in daytacct with the
summary total accounting records in /var/adm/acct/sum/tacct.
7/91 Page 1
runacct(1M) runacct(1M)
CMS Produce command summaries.
USEREXIT
Any installation dependent accounting programs can be included
here.
CLEANUP
Clean up temporary files and exit.
To restart runacct after a failure, first check the active file for
diagnostics, then fix any corrupted data files, such as pacct or
wtmp. The lock, lock1, and lastdate files must be removed before
runacct can be restarted. The argument mmdd is necessary if runacct
is being restarted, and specifies the month and day for which runacct
will rerun the accounting. The entry point for processing is based
on the contents of statefile; to override this, include the desired
state on the command line to designate where processing should begin.
EXAMPLES
To start runacct:
nohup runacct 2> /var/adm/acct/nite/fd2log &
To restart runacct:
nohup runacct 0601 2>> /var/adm/acct/nite/fd2log &
To restart runacct at a specific state:
nohup runacct 0601 MERGE 2>> /var/adm/acct/nite/fd2log &
FILES
/var/adm/wtmp
/var/adm/pacctincr
/usr/src/cmd/acct/tacct.h
/usr/src/cmd/acct/ctmp.h
/var/adm/acct/nite/active
/var/adm/acct/nite/daytacct
/var/adm/acct/nite/lock
/var/adm/acct/nite/lock1
/var/adm/acct/nite/lastdate
/var/adm/acct/nite/statefile
SEE ALSO
acct(1M), acctcms(1M), acctcon(1M), acctmerg(1M), acctprc(1M),
acctsh(1M), cron(1M), fwtmp(1M), acct(4), utmp(4)
acctcom(1), mail(1) in the User's Reference Manual
acct(2) in the Programmer's Reference Manual
NOTES
Normally it is not a good idea to restart runacct in the SETUP state.
Run SETUP manually and restart via:
Page 2 7/91
runacct(1M) runacct(1M)
runacct mmdd WTMPFIX
If runacct failed in the PROCESS state, remove the last ptacct file
because it will not be complete.
7/91 Page 3