runacct(1M) runacct(1M)
NAME
runacct - Tagesabrechnung durchführen
SYNTAX
/usr/lib/acct/runacct [mmdd [state]]
BESCHREIBUNG
runacct ist die wichtigste Shell-Prozedur für die tägliche Abrechnung.
Normalerweise wird sie von cron gestartet. runacct verarbeitet Dateien
zur Anschluß-, Gebühren-, Platten- und Prozeßabrechnung. Sie bereitet
auch Übersichtsdateien für prdaily oder zur Rechnungsstellung vor.
runacct sorgt dafür, daß beim Auftreten von Fehlern keine aktiven
Abrechnungs- oder Übersichtsdateien beschädigt werden. Es zeichnet
seinen Ablauf auf, indem es beschreibende Diagnosemeldungen in die
Datei active schreibt. Wird ein Fehler festgestellt, wird an
/dev/console eine Meldung geschrieben, root und adm werden über elek-
tronische Post [siehe mail(1)] benachrichtigt, und runacct wird been-
det. runacct benutzt eine Reihe von Sperrdateien als Schutz gegen
erneutes Aufrufen. Mit den Dateien lock und lock1 soll gleichzeitiges
Aufrufen verhindert werden, mit lastdate wird sichergestellt, daß die
Prozedur nicht mehrmals an einem Tag aufgerufen wird.
runacct untergliedert die Verarbeitung in getrennte, wiederanlaufbare
Schritte (states), wobei in der Datei statefile der letzte abgeschlos-
sene Schritt verzeichnet wird. Dazu schreibt sie den state-Namen in
die Datei statefile. runacct schaut dann in der Datei statefile nach,
welche Schritte es bereits ausgeführt hat, und stellt daraus fest, wie
es mit der Verarbeitung weitermachen soll. Die Schritte werden in der
folgenden Reihenfolge ausgeführt:
SETUP Bringt aktive Abrechnungsdateien in Arbeitsdateien.
WTMPFIX Prüft die Integrität der Datei wtmp und korrigiert
gegebenenfalls Datumsänderungen.
CONNECT Erzeugt Anschlußsitzungssätze im binären Format.
PROCESS Wandelt Prozeßabrechnungssätze in binäres Format um.
MERGE Mischt Anschluß- und Prozeßabrechnungssätze.
FEES Wandelt die Ausgabe von chargefee in binäres Format um
und mischt dies mit Anschluß- und Prozeßabrechnungssät-
zen.
DISK Mischt Plattenabrechnungssätze mit Anschluß-, Prozeß-
und Gebührenabrechnungssätzen.
MERGETACCT Mischt die Tagessummenabrechnungssätze aus daytacct mit
den Summenabrechnungssätzen in /var/adm/acct/sum/tacct.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
runacct(1M) runacct(1M)
CMS Erstellt Kommandozusammenfassungen.
USEREXIT Hier können alle installationsabhängigen Abrechnungs-
programme eingefügt werden.
CLEANUP Bereinigt temporäre Dateien und beendet die Prozedur.
Wenn Sie runacct nach einem Fehler neu starten wollen, sollten Sie
zuerst in der Datei active eventuell vorhandene Diagnosemeldungen
lesen, bevor Sie beschädigte Datendateien gegebenenfalls berichtigen.
(Es kann sich hierbei beispielsweise um Dateien wie pacct oder wtmp
handeln.) Die Dateien lock, lock1 und lastdate müssen gelöscht werden,
bevor runacct neu gestartet werden kann. Das Argument mmdd ist notwen-
dig, wenn runacct neu gestartet wird. Es gibt an, in welchem Monat und
an welchem Tag runacct die Abrechnung erneut durchführt. Der Einstieg-
spunkt für die Verarbeitung richtet sich nach dem Inhalt der Datei
statefile; soll diese außer Kraft gesetzt werden, geben Sie in der
Kommandozeile unter state den Schritt an, bei dem die Verarbeitung
beginnen soll.
BEISPIELE
Wollen Sie runacct starten, so geben Sie folgendes ein:
nohup runacct 2> /var/adm/acct/nite/fd2log &
Wollen Sie runacct neu starten, geben Sie folgendes ein:
nohup runacct 0601 2>> /var/adm/acct/nite/fd2log &
Wollen Sie runacct bei einem bestimmten unter state angegebenen
Schritt neu starten, geben Sie folgendes ein:
nohup runacct 0601 MERGE 2>> /var/adm/acct/nite/fd2log &
HINWEISE
Es ist in der Regel nicht sinnvoll, runacct im Zustand SETUP neu zu
starten. SETUP sollte manuell ausgeführt werden, und die Prozedur
sollte über:
runacct mmdd WTMPFIX
neu gestartet werden. Ist bei runacct im Schritt PROCESS ein Fehler
aufgetreten, löschen Sie die letzte ptacct-Datei, denn sie ist nicht
vollständig.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
runacct(1M) runacct(1M)
DATEIEN
/var/adm/wtmp
/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
SIEHE AUCH
acctcom(1), mail(1), acct(1M), acctcms(1M), acctcon(1M), acctmerg(1M),
acctprc(1M), acctsh(1M), cron(1M), fwtmp(1M), acct(2), utmp(4).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98