acctdisk, acctdusg - Perform disk-usage accounting
acctdusg [-u file] [-p file]
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 flag with the dodisk command. This is not normally done in the /usr/spool/cron/crontabs/[filename] file. When the -o flag 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 output. 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 flag 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 flag, 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:
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) delim off