Way back a long time ago, Thompson and Ritchie were sitting opposite
one another at the commissary, sipping coffees and discussing their
"This behemoth of ours," said Ken, "is becoming rather popular,
wouldn't you say?" "Yes," said Dennis. "Every time I want to do a
compilation, I have to wait for hours and hours. It's infuriating."
They both agreed that the load on their system was too great. Both
sighed, picked up their mugs, and went back to the workbench. Little
did they know that an upper-management type was sitting just within
earshot of their conversation.
"We are AT&T Bell Laboratories, aren't we?" the upper-management type
thought to himself. "Well, what is our organization best known for?"
The brill-cream in his hair glistened. "Screwing people out of lots of
money, of course! If there were some way that we could keep tabs on
users and charge them through the nose for their CPU time..."
The accounting utilities were born.
Seriously though, the accouting utilities can provide a system
administrator with useful information about system usage--connections,
programs executed, and utilization of system resources.
Information about users--their connect time, location, programs
executed, and the like--is automatically recored in files by `init' and
`login'. Four of them are of interest to us: `wtmp', which has records
for each login and logout; `acct', which records each command that was
run; `usracct' and `savacct', which contain summaries of the
information in `acct' by user and command, respectively. Each of the
accounting utilities reports or summarizes information stored in these
prints statistics about users' connect time. `ac' can tell you how
long a particular user or group of users were connected to your
system, printing totals by day or for all of the entries in the
turns accounting on or off.
lists the logins on the system, most recent first. With `last',
you can search the `wtmp' file for a particular user or terminal
name (to which the user was connected). Of special interest are
two fake users, `reboot' and `shutdown', which are recorded when
the system is shut down or reboots.
lists the commands executed on the system, most recent first,
showing the run state of each command. With `last', you can
search the `acct' file for a particular user, terminal, or command.
summarizes the information in the `acct' file into the `savacct'
and `usracct' file. It also generates reports about commands,
giving the number of invocations, cpu time used, average core
display `acct' and `utmp' files in a human-readable format.
For more detailed information on any of these programs, check the
chapter with the program title.
A Note on File Names and Locations
The `wtmp' and `acct' files seem to live in different places and
have different names for every variant of u*x that exists. The name
`wtmp' seems to be standard for the login accounting file, but the
process accounting file might be `acct' or `pacct' on your system. To
find the actual locations and names of these files on your system,
specify the `--help' flag to any of the programs in this package and
the information will dumped to standard output.
Regardless of the names and locations of files on your system, this
manual will refer to the login accounting file as `wtmp' and the
process accounting files as `acct', `savacct', and `usracct'.
History of the Accounting Utilities
I don't have any idea who originally wrote these utilities. If
anybody does, please send some mail to `email@example.com' and I'll
add your information here!
Since the first alpha versions of this software in late 1993, many
people have contributed to the package. They are (in alphabetical
`Eric Backus <firstname.lastname@example.org>'
Suggested fixes for HP-UX 9.05 using /bin/cc: configure assumed
you were using `gcc' and tacked on `-Wall' etc. He also noticed
that `file_rd.c' was doing pointer arithmetic on a `void *' pointer
`Christoph Badura <email@example.com>'
Christoph was a BIG HELP in computing statistics, most notably
k*sec stuff! He also did Xenix testing and contributed some
Makefile fixes and output optimizations.
`Michael Calwas <firstname.lastname@example.org>'
Fixed bugs in mktime.c.
`Alan Cox <email@example.com>'
Original Linux kernel accounting patches.
`Scott Crosby <firstname.lastname@example.org>'
Suggested idea behind `--sort-real-time' for `sa'.
`Solar Designer <email@example.com>'
Fixed off-by one error in allocations in `sa'.
`Dirk Eddelbuettel <firstname.lastname@example.org>'
Managed bug-fixes & etc. for Debian distribution, as well as the
architect of merge of GNU + Debian distributions. A big thanks to
Dirk for kicking me back into gear again after a long period of no
work on this project.
`Jason Grant <email@example.com>'
Identified a buffer-overrun bug in `sa'.
`Kaveh R. Ghazi <firstname.lastname@example.org>'
Tested the package on many systems with compilers other than gcc.
Fixed K&R C support.
`Susan Kleinmann <email@example.com>'
Contributed excellent man pages!
`Marek Michalkiewicz <firstname.lastname@example.org>'
Suggested the `--ip-address' flag for `last'.
`David S. Miller <email@example.com>'
Noticed missing GNU-standard makefile rules.
`Walter Mueller <firstname.lastname@example.org>'
Noticed install target was missing, and corrected a typo for
prefix in Makefile.in.
`Ian Murdock <email@example.com>'
Tracked down miscellaneous bugs in sa.c under Linux. Added Debian
package maintenance files.
`Luc I. Suryo <firstname.lastname@example.org>'
Suggested the `--user' flag for `lastcomm'.
`Pedro A M Vazquez <email@example.com>'
Fixed bugs in sa.c and tested under FreeBSD.
`Marco van Wieringen <Marco.van.Wieringen@mcs.nl.mugnet.org>'
Modified (wrote?) Linux kernel accounting patches.
automatically generated by