acctdisk, acctdusg - Perform disk-usage accounting
acctdisk
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.
acctdisk
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 diskaccounting
record, and writes it to standard output. These
records are merged with other accounting records with the
acctmerg command to produce a daily accounting report.
acctdusg
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 diskusg command.
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 output.
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 pathname 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 password file specified with the -p option, for
login names, numbers and login directories. Each output
record has the following format:
uid login #blocks
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:
Purpose Time variable that has the value 0 through
59 expressing minutes past the hour. 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 (-).
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. To initiate a slower,
more thorough disk-accounting procedure, add a line
similar to the following to the
/usr/spool/cron/crontabs/[filename] file. 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 files.
Commands: acct(8), acctmerg(8), cron(8), diskusg(8),
dodisk(8), runacct(8)
Functions: acct(2)
acctdisk(8)
[ Back ] |