You can set up system accounting to run while the system is in multiuser mode (Run Level 2). Generally, this task involves these steps:
Creating the /etc/rc0.d/K22acct
and /etc/rc2.d/S22acct
startup scripts
Modifying the /var/spool/cron/crontabs/adm
and /var/spool/cron/crontabs/root
crontab
files
The following table describes the default accounting scripts.
Table 16.1. Default Accounting Scripts
Purpose |
Accounting Script |
Man Page |
Run Frequency |
---|---|---|---|
Checks the size of the |
|
acctsh ( 1M ) |
Periodically |
Processes connect, disk, and fee accounting information. You can remove from this script the commands for the accounting features you do not want processed. |
runacct |
runacct ( 1M ) |
Daily |
Generates fiscal accounting summary reports on a monthly basis. You can determine how often this script is run. You can remove from this script the commands for the accounting features you do not want to use. |
|
acctsh ( 1M ) |
On a fiscal basis |
You can choose which accounting scripts run by default. After these
entries have been added to the crontab
files, system
accounting should run automatically.
How to Set Up System Accounting
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services .
If necessary, install the SUNWaccr
and SUNWaccu
packages on your system by using the pkgadd command.
Install /etc/init.d/acct
as the startup script
for Run Level 2.
# ln /etc/init.d/acct /etc/rc2.d/S22acct
Install /etc/init.d/acct
as
the stop script for Run Level 0.
# ln /etc/init.d/acct /etc/rc0.d/K22acct
Add the following lines to the adm
crontab
file to start the ckpacct, runacct, and monacct scripts automatically.
#EDITOR=vi; export EDITOR
#crontab -e adm
0 * * * * /usr/lib/acct/ckpacct 30 2 * * * /usr/lib/acct/runacct 2> /var/adm/acct/nite/fd2log 30 7 1 * * /usr/lib/acct/monacct
Add the following line to the root
crontab
file to start the dodisk script
automatically.
# crontab -e
30 22 * * 4 /usr/lib/acct/dodisk
Edit /etc/acct/holidays
to include national
holidays and local holidays.
For more information, see the holidays ( 4 ) man page and the example that follows.
Reboot the system, or start system accounting manually by typing:
# /etc/init.d/acct start
Example 16.1. Setting Up Accounting (adm crontab)
This modified adm crontab contains entries
for the ckpacct
, runacct
, and monacct
scripts.
#ident "@(#)adm 1.5 92/07/14 SMI" /* SVr4.0 1.2 */ # # The adm crontab file should contain startup of performance # collection if the profiling and performance feature has been # installed. 0 * * * * /usr/lib/acct/ckpacct 30 2 * * * /usr/lib/acct/runacct 2> /var/adm/acct/nite/fd2log 30 7 1 * * /usr/lib/acct/monacct
Example 16.2. Setting Up Accounting (root crontab)
This modified root crontab contains entries
for the dodisk
program.
#ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # The root crontab should be used to perform accounting data collection. # # 10 3 * * * /usr/sbin/logadm 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean 30 22 * * 4 /usr/lib/acct/dodisk
Example 16.3. Setting Up Accounting (/etc/acct/holidays
)
The following example shows a sample /etc/acct/holidays
file.
* @(#)holidays January 1, 2004 * * Prime/Nonprime Table for UNIX Accounting System * * Curr Prime Non-Prime * Year Start Start * 2004 0800 1800 * * only the first column (month/day) is significant. * * month/day Company * Holiday * 1/1 New Years Day 7/4 Indep. Day 12/25 Christmas