runacct
PURPOSE
Runs daily accounting.
SYNOPSIS
/usr/lib/acct/runacct [ mmdd [ state ] ]
DESCRIPTION
The runacct command is the main daily accounting shell
procedure. Normally initiated by cron, runacct processes
connect, fee, disk, queueing system and process
accounting data files. It also prepares summary files
for the prdaily procedure or for billing purposes.
The runacct command protects active accounting files and
summary files in the event of run-time errors. It
records its progress by writing descriptive messages into
the file /usr/adm/acct/nite/active. When runacct
encounters an error, it writes a diagnostic message to
/dev/console, sends mail to users "root" and "adm", and
exits.
The runacct procedure also creates two temporary files,
lock and lock1 in the directory /usr/adm/acct/nite, which
it uses to prevent two simultaneous calls to runacct. It
uses the file lastdate (in the same directory), to
prevent more than one invocation per day.
The runacct command breaks its processing into separate,
restartable states. As it completes each state, it
writes the name of the next state in
/usr/adm/acct/nite/statefile. runacct processes the
various states in the following order:
State Actions
SETUP Moves the active accounting files to working
files and restarts the active files.
WTMPFIX Verifies the integrity of the wtmp file, cor-
recting date changes if necessary.
CONNECT1 Calls acctcon1 to produce connect session
records.
CONNECT2 Converts connect session records into total
accounting records (tacct.h format).
PROCESS Converts process accounting records into
total accounting records (tacct.h format).
MERGE Merges the connect and process total
accounting records.
FEES Converts the output of chargefee into total
accounting records (tacct.h format) and
merges them with the connect and process
total accounting records.
DISK Merges disk accounting records with connect,
process, and fee total accounting records.
QUEUEACCT Sorts the queue (printer) accounting records,
converts them into total accounting records
(tacct.h format), and merges them with other
total accounting records.
MERGETACCT Merges the daily total accounting records in
daytacct with the summary total accounting
records in /usr/adm/acct/sum/tacct.
CMS Produces command summaries in the file
/usr/adm/acct/sum/cms.
USEREXIT If the shell file /usr/adm/siteacct exists,
calls it at this point to perform site-
dependant processing.
CLEANUP Deletes temporary files and exit.
To restart runacct after a failure, first check the
/usr/adm/acct/nite/active file for diagnostic messages,
then fix any damaged data files such as pacct or wtmp.
Remove the lock files and lastdate file (all in the
/usr/adm/acct/nite directory), before restarting runacct.
You must specify the mmdd parameter if you are restarting
runacct. It specifies the month and day for which
runacct is to rerun the accounting. runacct determines
the entry point for processing by reading statefile. To
override this default action, specify the desired state
on the runacct command line. For a more detailed dis-
cussion of restarting runacct, see Managing the AIX Oper-
ating System.
It is not usually a good idea to restart runacct in the
SETUP state. Instead, perform the setup actions manually
and restart accounting with the WTMPFIX state, as
follows:
runacct mmdd WTMPFIX
If runacct fails in the PROCESS state, remove the last
ptacct file, because it will be incomplete.
EXAMPLES
1. To start runacct:
nohup /usr/lib/acct/runacct 2> /usr/adm/acct/nite/accterr &
This starts runacct in the background ("&"), ignoring
all INTERRUPT and QUIT signals (nohup). All standard
error output is written to the file
"/usr/adm/acct/nite/accterr".
2. To restart runacct:
nohup /usr/lib/acct/runacct 0601 2>> /usr/adm/acct/nite/accterr &
This restarts runacct for the day of June 1 ("0601").
runacct reads the file /usr/adm/acct/nite/statefile
to find out the state to begin with. Standard error
output is added to the end of the file
"/usr/adm/acct/nite/accterr".
3. To restart runacct in a specific state, in this case
the MERGE state:
nohup /usr/lib/acct/runacct 0601 MERGE 2>> /usr/adm/acct/nite/accterr &
FILES
/usr/adm/wtmp Login/logout history
file.
/usr/adm/pacct* Process accounting
file.
/usr/adm/acct/nite/daytacct Disk usage accounting
file.
/usr/adm/qacct Active queue
accounting file.
/usr/adm/fee Record of fees charge
to users.
/usr/adm/acct/sum/* Command and total
accounting summary
files.
/usr/adm/acct/nite/ptacct*.mmdd Concatenated version
of pacct files.
/usr/adm/acct/nite/active runacct message file.
/usr/adm/acct/nite/lock* Prevent simultaneous
invocation of runacct.
/usr/adm/acct/nite/lastdate Contains last date
runacct was run.
/usr/adm/acct/nite/statefile Contains current state
to process.
RELATED INFORMATION
The following commands: "acct," "acctcms," "acctcom,"
"acctcon," "acctmerg," "acctprc," "cron," and "fwtmp."
The acct system call and the acct and utmp files in AIX
Operating System Technical Reference.
"Running System Accounting" in IBM RT PC Managing the AIX
Operating System.