acctdisk, acctdusg - Perform disk-usage accounting
acctdusg [-u file] [-pfile]
Searches file as the alternate file for login names and numbers,
instead of searching /etc/passwd.
Writes records of file names for which it does not charge into file.
Normally the acctdisk and acctdusg commands are called from the dodisk
shell procedure to do disk-usage accounting. The dodisk shell procedure is
invoked when the cron daemon executes commands in the
/usr/spool/cron/crontabs/[filename] file. In the usual case, the output of
the diskusg command is the redirected input to the acctdisk command. When a
more thorough, but slower, version of disk accounting is needed, specify
the -o option with the dodisk command. This is not normally done in the
/usr/spool/cron/crontabs/[filename] file. When the -o option is used, the
acctdusg command replaces the diskusg command.
Normally, the acctdisk command reads a temporary output file produced by
the diskusg or the acctdusg command from standard input, converts each
record into a total disk-accounting record, and writes it to standard out-
put. These records are merged with other accounting records with the
acctmerg command to produce a daily accounting report.
The acctdusg command is called when the -o option is used with the dodisk
command. This produces a more thorough, but slower, version of disk-
accounting records. Otherwise, the dodisk shell procedure invokes the
The acctdusg command reads a list of files from standard input (usually
piped from a find / -print command), computes the number of disk blocks
(including indirect blocks) allocated to each file divided by the number of
hard links then writes an individual record for each user to standard out-
To find the user who is charged for the file, compare each file pathname
with the login directories of the users. The user who has the longest path-
name component match is charged for the file. Therefore, the relevant
information for charging users is not ownership of a file but the directory
where it is stored.
The acctdusg command searches the /etc/passwd file, or the alternate pass-
word file specified with the -p option, for login names, numbers and login
directories. Each output record has the following format:
uid login #blocks
1. To start normal disk-accounting procedures, add a line similar to the
following to the /usr/spool/cron/crontabs/[filename] file:
0 2 * * 4 /usr/sbin/acct/dodisk
The foregoing example is a typical, periodically invoked command that
the cron daemon reads and executes. The period is expressed by a 6-
field entry having the format: mm hh daymon monyr wkday cmd. For any
field requiring digits, numbers are integers.
These six fields have the following significance:
mm Time variable that has the value 0 through 59 expressing minutes
past the hour.
hh Time variable for the hour of the day in 24-hour clock notation.
Time variable for the day of the month.
Time variable for month of the year.
Time variable for the day or days of the week, where 0 is Sunday
and inclusive days are separated with a hyphen (-).
cmd Command the cron daemon must execute.
Whenever you write any of the time variables described in the
foregoing table, an unspecified value must be noted with an *
(asterisk) to define an empty field.
In the foregoing example, the dodisk shell procedure runs at 02:00
hours (2) every Thursday (4). The dodisk shell procedure calls the
acctdusg command to redirect its input to a temporary file and
then calls the acctdisk shell procedure to redirect disk-usage
records from the temporary file as input to a
/var/adm/acct/nite/[filename] file as output. The file stored in
the /var/adm/acct/nite subdirectory is a permanent binary record
of disk usage for the specified period.
2. To initiate a slower, more thorough disk-accounting procedure, add a
line similar to the following to the
0 2 * * 0-4 /usr/sbin/acct/dodisk -o
The dodisk shell procedure calls the acctdusg command and the acctdisk
command to write disk-usage records to
the/var/adm/acct/nite/[filename] file just as in the previous example.
The dodisk procedure runs at 2 a.m. every day (0-6) including Sunday.
Specifies the command path.
Specifies the command path.
User database file.
The active login/logout database file.
Accounting header files that define formats for writing accounting
Commands: acct(8), acctmerg(8), cron(8), diskusg(8), dodisk(8), runacct(8)