RUNACCT(8) Maintenance Procedures RUNACCT(8)
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 using
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
wtmpx 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, 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.
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
wtmpx.
The
lock,
lock1, and
lastdate files must be removed before
runacct can be restarted. The argument
mmdd is necessary
if
runacct is being restarted.
mmdd 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
Example 1: Starting runacct
The following example starts
runacct:
example% nohup runacct 2> /var/adm/acct/nite/fd2log &
Example 2: Restarting runacct
The following example restarts
runacct:
example% nohup runacct 0601 2>> /var/adm/acct/nite/fd2log &
Example 3: Restarting runacct at a Specific State
The following example restarts
runacct at a specific state:
example% nohup runacct 0601 MERGE 2>> /var/adm/acct/nite/fd2log &
FILES
/var/adm/wtmpx History of user access and administration information
/var/adm/pacctincr /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/statefileSEE ALSO
acctcom(1),
mail(1),
acct(2),
acct.h(3HEAD),
utmpx(5),
attributes(7),
acct(8),
acctcms(8),
acctcon(8),
acctmerg(8),
acctprc(8),
acctsh(8),
cron(8),
fwtmp(8)NOTES
It is not recommended to restart
runacct in the
SETUP state. Run
SETUP manually and restart using:
runacct mmdd WTMPFIX If
runacct failed in the
PROCESS state, remove the last
ptacct file
because it will not be complete.
The
runacct command can process a maximum of
o 6000 distinct sessions
o 1000 distinct terminal lines
o 2000 distinct login names
during a single invocation of the command. If at some point the actual
number of any one of these items exceeds the maximum, the command will
not succeed.
Do not invoke
runacct at the same time as
ckpacct, as there may be a
conflict if both scripts attempt to execute
turnacct switch simultaneously.
May 11, 1999
RUNACCT(8)