Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ runacct(ADM) — OpenDesktop 1.1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

acct(ADM)

acctcms(ADM)

acctcom(C)

acctcon(ADM)

acctmerg(ADM)

acctprc(ADM)

acctsh(ADM)

cron(C)

fwtmp(ADM)

mail(C)

acct(S)

acct(F)

utmp(F)


     RUNACCT(ADM)                         UNIX System V



     Name
          runacct - run daily accounting


     Syntax
          /usr/lib/acct/runacct [mmdd [state]]


     Description
          runacct is the main daily accounting shell procedure.  It is
          normally  initiated via cron(C).  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
          progress by writing  descriptive  diagnostic  messages  into
          active.   When an error is detected, a message is written to
          /dev/console, mail [see mail(C)] 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 wtmp  file,  correcting
                           date changes if necessary.

               CONNECT1
                           Produce connect session records  in  ctmp.h
                           format.

               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  into  tacct.h
                           format  and  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 /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
          argument 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
          contents of statefile; to override this, include the desired
          state on the command  line  to  designate  where  processing
          should begin.


     Examples
          To start runacct.
               nohup runacct 2> /usr/adm/acct/nite/fd2log &

          To restart runacct.
               nohup runacct 0601 2>> /usr/adm/acct/nite/fd2log &

          To restart runacct at a specific state.
               nohup runacct 0601 MERGE 2>>  /usr/adm/acct/nite/fd2log
               &


     Files
          /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
          acct(ADM),    acctcms(ADM),    acctcom(C),     acctcon(ADM),
          acctmerg(ADM),     acctprc(ADM),    acctsh(ADM),    cron(C),
          fwtmp(ADM), mail(C), acct(S), acct(F), utmp(F)


     Notes
          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.


     Standards Conformance
          runacct is conformant with:
          AT&T SVID Issue 2, Select Code 307-127.


     (printed 2/15/90)                               RUNACCT(ADM)

































































































































































































































































































































































































































































Typewritten Software • bear@typewritten.org • Edmonds, WA 98026