unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



runacct(8)							   runacct(8)



NAME

  runacct - Runs daily accounting

SYNOPSIS

  /usr/sbin/acct/runacct [mmdd]	[state...]

OPERANDS

  mmdd
      Specifies	the month and day for which you	want to	rerun the accounting
      shell procedure.

  state
      Used to restart the runacct shell	procedure from any of its thirteen
      states.

      The thirteen restartable states, in order, are: SETUP, WTMPFIX, CON-
      NECT1, CONNECT2, PROCESS,	MERGE, FEES, DISK, QUEUEACCT, MERGETACCT,
      CMS, USEREXIT, and CLEANUP. These	states are described under The
      runacct Shell Procedure Restartable States heading in the	DESCRIPTION
      section.

      Recovery from a run failure and the runacct shell	procedure restart is
      described	under the Restarting the runacct Shell Process heading in the
      DESCRIPTION section.

DESCRIPTION

  The runacct command is the daily accounting shell procedure. This shell
  procedure is normally	invoked	from the cron daemon to	process	connection,
  fee, disk usage, queuing (printer), and process accounting database files
  for the current day. The runacct shell procedure produces a
  /var/adm/acct/nite/dayacct binary daily accounting file and also produces
  summary files, which the prdaily shell procedure uses	to generate ASCII
  daily	file /var/adm/acct/sum/rprtmmdd	or to generate files used for billing
  for the use of various system	resources. The /var/adm/acct/nite/dayacct
  binary daily accounting file is used by the acctmerg command.

  The acctmerg	command	adds records from the dayacct file to the
  /var/adm/acct/sumtacct file. The /var/adm/acct/sumtacct file is a cumula-
  tive summary of system resources used	during the accounting period. The
  sumtacct file	is used	by the monacct command to produce the monthly
  accounting summary file, /var/adm/acct/fiscal.

  The runacct command has two operands that you	may enter from the keyboard
  whenever you must restart the	runacct	shell procedure. The date operand,
  mmdd,	is used	to specify the day and month for which you want	to rerun the
  accounting shell procedure. The state	operand	is used	to restart the
  runacct shell	procedure from any of its thirteen states.  Recovery from a
  run failure and the runacct shell procedure restart is described under the
  Restarting Runacct heading on	the next page.

  The runacct command protects active accounting and summary files whenever a
  run-time error occurs. During	execution, the state-to-state progress of the
  runacct shell	process	is recorded by writing descriptive messages to the
  /var/adm/acct/nite/active file. Whenever the runacct shell process detects
  a run-time error, a mail message is sent to the superuser (root) and to the
  user named adm when environment variable MAILCOM is set to mail root adm.
  After	writing	the mail message the runacct shell procedure aborts.

  The runacct shell procedure also creates the temporary file named lock in
  subdirectory /var/adm/acct/nite. This	file is	used to	prevent	simultaneous
  calls	to the runacct shell procedure.	The runacct shell procedure also uses
  the lastdate file, in	the same subdirectory, to prevent more than one	invo-
  cation of the	runacct	command	per day.

  The runacct Shell Procedure Restartable States


  The runacct shell procedure is processed in thirteen separate	restartable
  states. When the runacct process completes each state, the name of the next
  state	to undergo execution is	written	to the /var/adm/acct/nite/statefile
  file.	 The runacct procedure processes the various states named in the
  leftmost column below, in the	order given.

  SETUP
      Moves the	active accounting files	to working files and restarts the
      active files.

  WTMPFIX
      Verifies the integrity of	the /var/adm/wtmp file and corrects date
      changes when necessary.

  CONNECT1
      Calls the	acctcon1 command to write connect session records.

  CONNECT2
      Converts connect session records from the	/var/adm/wtmp file to total
      accounting records in total format defined by tacct structure members
      in the private tacct.h header file.

  PROCESS
      Converts process accounting records from the /var/adm/pacct* file(s)
      into total accounting records (see CONNECT2 above).

  MERGE
      Merges the connect and process total accounting records.

  FEES
      Converts the output obtained with	the chargefee command into total
      accounting records (see CONNECT2 above) and merges them with other
      total accounting records.

  DISK
      Merges disk accounting records with connect, process, and	fee total
      accounting records.

  QUEUEACCT
      Sorts queue (printer) accounting records,	converts them into total
      accounting records (see CONNECT2 above), and merges them with other
      total accounting records.

  MERGETACCT
      Merges the daily total accounting	records	in the
      /var/adm/acct/nite/dayacct file with summary total accounting records
      in the /var/adm/acct/sum/tacct file.

  CMS Produces command summaries in the	file /var/adm/acct/sum/cms.

  USEREXIT
      When the shell procedure /var/adm/siteacct exists, and the runacct
      shell procedure enters this state, the /var/adm/siteacct is called to
      perform site-dependent account record processing.

  CLEANUP
      Deletes all temporary files and exits.

  Restarting the runacct Shell Process


  To restart the runacct shell process after it	fails, do the following:

   1.  Check the /var/adm/acct/nite/active file	for diagnostic messages.

   2.  Repair records in any damaged database files, such as /var/adm/pacct
       or /var/adm/wtmp.

   3.  Remove the /var/adm/acct/nite/lock and /var/adm/acct/nite/lastdate
       files.

   4.  Before restarting the  runacct shell procedure, you must	specify	the
       mmdd operand of the runacct command. This operand specifies the month
       and day for which the runacct command is	to rerun the accounting	shell
       process.	 The runacct shell procedure determines	the entry point	for
       processing by reading the /var/adm/acct/nite/statefile file. To over-
       ride this default action, specify a state listed	above on the runacct
       command line.

       It is not a good	idea to	restart	the runacct command in the SETUP
       state. Instead, perform set-up actions manually and restart accounting
       in the WTMPFIX state by entering	the following command:
	    runacct mmdd WTMPFIX



  Should the runacct process fail during its PROCESS state, remove the last
  /var/adm/acct/nite/ptacct*.mmdd file before restarting the runacct shell
  process because the file does	not complete until the next state is entered.

EXAMPLES

   1.  To start	daily accounting procedures for	the use	of various system
       resources, add the following command line to a crontabs file so that
       the runacct shell procedure is automatically called by the cron dae-
       mon.
	    0 4	* * 1-6	/usr/sbin/acct/runacct 2 >> /var/adm/acct/nite/accterr

       This example shows the instructions that	the cron daemon	reads and
       then executes.  The runacct shell procedure runs	at 4:00	a.m. (0	4)
       every Monday through Saturday (1-6) and redirects errors	from the
       standard	error output (2	>>) to the /var/adm/acct/nite/accterr file.
       This command typifies accounting	instructions normally passed to	the
       cron daemon from	the runacct shell procedure.  (See the System
       Administration manual.)

   2.  To start	daily accounting procedures for	system resources from the
       command line (start the runacct command), enter:
	    nohup  /usr/sbin/acct/runacct  2>>  /var/adm/acct/nite/accterr&&

       Although	it is preferable to have the cron daemon start the runacct
       procedure automatically (see the	first example),	you may	enter the
       command from the	keyboard. The runacct command will run in the back-
       ground, ignoring	all INTERRUPT and QUIT signals (nohup),	and write all
       standard	error output (2>>) to the /var/adm/acct/nite/accterr file.

   3.  To restart the system accounting	procedures for a specific date,	enter
       a command similar to the	following:
	    nohup  /usr/sbin/acct/runacct  0601	 2>>>>  /var/adm/acct/nite/accterr&&

       In this example,	the runacct command is executed	on the first day of
       June (0601). The	runacct	process	reads the
       /var/adm/acct/nite/statefile file to find the state from	which to
       start. The runacct process runs in the background and ignores all
       INTERRUPT and QUIT signals (nohup). The standard	error output (2) is
       appended	(>>>>) to	the end	of the file named /var/adm/acct/nite/accterr.

FILES

  /usr/sbin/acct/runacct
      Specifies	the command path

  /var/adm/wtmp
      The active login/logout database file.

  /var/adm/pacct
      The active process accounting database file.

  /var/adm/acct/nite/daytacct
      The active disk-usage accounting database	file.

  /var/adm/qacct
      The active queue (printer) accounting file.

  /var/adm/fee
      The file containing records of fees charged to users.

  /var/adm/acct/sum/*
      The command and total accounting summary files.

  /var/adm/acct/nite/ptacct*.mmdd
      The concatenated version of the pacct files.

  /var/adm/acct/nite/active
      The runacct error	message	file.

  /var/adm/acct/nite/lock
      Prevents more than one invocation	of the runacct shell procedure.

  /var/adm/acct/nite/lastdate
      Contains the last	date the runacct shell procedure was run.

  /var/adm/acct/nite/statefile
      Contains the next	state to process.

  /var/adm/siteacct
      A	shell procedure	containing site-dependent accounting commands.

  /usr/include/sys/acct.h
      Accounting header	file that defines formats for writing accounting
      files.

SEE ALSO

  Commands: acct(8), acctcms(8), acctcom(8), acctcon(8), acctmerg(8),
  acctprc(8), fwtmp(8),	wtmpconvert(8).

  Daemons: cron(8)


  Functions: acct(2)

  System Administration