システムアカウンティングは、システムがマルチユーザーモード (システム状態 2) のときに実行されるように設定できます。それには、次のことが含まれます。
/etc/rc0.d/K22acct および /etc/rc2.d/S22acct ファイルの作成
/var/spool/cron/crontabs/adm および /var/spool/cron/crontabs/root ファイルの変更。
アカウント用スクリプトのほとんどは、/var/spool/cron/crontabs/adm データベースファイルに追加されます。表 60-1 に、デフォルトのアカウンティング管理スクリプトを説明します。
表 60-1 デフォルトのアカウンティング管理スクリプト
アカウンティングスクリプト |
目的 |
実行方法 |
---|---|---|
ckpacct |
/usr/adm/pacct ログファイルのサイズをチェックする。 |
定期的 |
runacct |
接続、プロセス、ディスク、および料金のアカウンティング情報を処理する。 |
日次 |
monacct |
会計レポートを生成する。定期的に実行される。 |
会計期間に基づく。 |
これらのデフォルトは変更できます。上記エントリをデータベースに追加して、アカウンティングプログラムをインストールした後、アカウンティングは自動的に実行されるようになります。
スーパーユーザーになります。
必要な場合は、pkgadd または admintool コマンドを使用して、システムに SUNWaccr、SUNWaccu パッケージをインストールします。
次のように入力して、/etc/init.d/acct を実行レベル 2 の起動スクリプトとしてインストールします。
# ln /etc/init.d/acct /etc/rc2.d/S22acct
/etc/init.d/acct を実行レベル 0 の停止スクリプトとしてインストールします。
# ln /etc/init.d/acct /etc/rc0.d/K22acct
プログラム ckpacct、runacct、および monacct が自動的に起動するように、ユーザー adm の crontab ファイルを変更します。
# 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
プログラム dodisk が自動的に起動するように、root crontab ファイルを変更します。
# crontab -e 30 22 * * 4 /usr/lib/acct/dodisk
システムをリブートするか、または、次のように入力します。
# /etc/init.d/acct start
次の例は、/usr/lib/acct/ckpacct、/usr/lib/acct/runacct、 /usr/lib/acct/monacct を実行する crontab エントリを /var/spool/cron/crontabs/adm に追加する方法を示します。
#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
次の例は、/usr/lib/acct/dodisk を実行する crontab エントリを /var/spool/cron/crontabs/root に追加する方法を示します。
#ident "@(#)root 1.12 94/03/24 SMI" /* SVr4.0 1.1.3.1 */ # # The root crontab should be used to perform accounting data collection. # # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 0 2 * * 0,4 /etc/cron.d/logchecker 5 4 * * 6 /usr/lib/newsyslog 15 3 * * * /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 20 * * * * [ -x /usr/lib/inet/ntpdate ] && /usr/lib/inet/ntpdate -m 224.0.1.1 >/dev/null 2>&1 30 22 * * 4 /usr/lib/acct/dodisk
次に /etc/acct/holidays ファイルの例を示します。
* @(#)holidays January 1, 1997 * * Prime/Nonprime Table for UNIX Accounting System * * Curr Prime Non-Prime * Year Start Start * 1997 0800 1800 * * only the first column (month/day) is significiant. * * month/day Company * Holiday * 1/1 New Years Day 1/20 Martin Luther King's Day 2/17 President's Day 5/26 Memorial Day 7/3 Day before Indep. Day 7/4 Indep. Day 9/1 Labor Day 11/27 Thanksgiving 11/28 Day after Thanksgiving 12/25 Christmas 12/26 Winter Break 12/29 Winter Break 12/30 Winter Break 12/31 Winter Break