System Administration Commands 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 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 pro-
gress 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 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 wtmpx file, correcting
date changes if necessary.
CONECT Produce connect session records in tacct.h
format.
PROCES Convert process accounting records into
tacct.h format.
MERGE Merge the connect and process accounting
records.
SunOS 5.11 Last change: 11 May 1999 1
System Administration Commands runacct(1M)
FES Convert output of chargefee into tacct.h for-
mat, merge with connect, and process account-
ing records.
DISK Merge disk accounting records with connect,
process, and fee accounting records.
MERGETACT 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 cor-
rupted 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:
SunOS 5.11 Last change: 11 May 1999 2
System Administration Commands runacct(1M)
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/statefile
SunOS 5.11 Last change: 11 May 1999 3
System Administration Commands runacct(1M)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWaccu
SEE ALSO
acctcom(1), mail(1), acct(1M), acctcms(1M), acctcon(1M),
acctmerg(1M), acctprc(1M), acctsh(1M), cron(1M), fwtmp(1M),
acct(2), acct.h(3HEAD), utmpx(4), attributes(5)
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 PROCES 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 max-
imum, 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 tur-
nacct switch simultaneously.
SunOS 5.11 Last change: 11 May 1999 4
|