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(1M). runacct processes connect,
fee, disk, and process accounting files. It also prepares
summary files for prdaily or billing purposes.
runacct takes care not to damage active accounting files or
summary files in the event of errors. It records its pro-
gress by writing descriptive diagnostic messages into ac-
tive. 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 reinvocation. 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 sta-
tefile. runacct then looks in statefile to see what it has
done and to determine what to process next. states are exe-
cuted in the following order:
SETUP Move active accounting files into working files.
WTMPFIX Verify integrity of wtmp file, correcting date
changes if necessary.
CONNECT1 Produce connect session records in ctmp.h for-
mat.
CONNECT2 Convert ctmp.h records into 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(1M) into tacct.h
format and merge with connect and process ac-
counting records.
DISK Merge disk accounting records with connect, pro-
cess, and fee accounting records.
April, 1990 1
runacct(1M) runacct(1M)
MERGETACCT Merge the daily total accounting records in day-
tacct with the summary total accounting records
in /usr/adm/acct/sum/tacct.
CMS Produce command summaries.
USEREXIT Any installation-dependent accounting programs
can be included here.
CLEANUP Cleanup temporary files and exit.
To restart runacct after a failure, first check the active
file for diagnostics, then fix up any corrupted data files
such as pacct or wtmp. The lock files and lastdate file
must be removed before runacct can be restarted. The argu-
ment mmdd is necessary if runacct is being restarted, and
specifies the month and day for which runacct will rerun the
accounting. Entry point for processing is based on the con-
tents of statefile; to override this, include the desired
state on the command line to designate where processing
should begin.
EXAMPLES
To start runnacct, use: nohup runacct 2>
/usr/adm/acct/nite/fd2log &
To restart runacct, use
nohup runacct 0601 2>> /usr/adm/acct/nite/fd2log &
To restart runacct at a specific state, use
nohup runacct 0601 MERGE 2>> /usr/adm/acct/nite/fd2log &
FILES
/usr/lib/acct/runacct
/etc/wtmp
/usr/adm/pacct*
/usr/src/cmd/acct/tacct.h
/usr/src/cmd/acct/ctmp.h
/usr/adm/acct/nite/active
/usr/adm/acct/nite/daytacct
/usr/adm/acct/nite/lock
/usr/adm/acct/nite/lock1
/usr/adm/acct/nite/lastdate
/usr/adm/acct/nite/statefile
/usr/adm/acct/nite/ptacct*.mmdd
SEE ALSO
mail(1), acct(1M), acctcms(1M), acctcom(1), acctcon(1M),
acctmerg(1M), acctprc(1M), acctsh(1M), cron(1M), fwtmp(1M),
acct(2), acct(4), utmp(4).
2 April, 1990
BUGS
Normally it is not a good idea to restart runacct in the
SETUP state. Run SETUP manually and restart via:
runacct mmdd WTMPFIX
If runacct failed in the PROCESS state, remove the last
ptacct file because it will not be complete.
April, 1990 3