システムアカウンティングは、システムがマルチユーザーモード (システム状態 2) のときに実行されるように設定できます。システムアカウンティングには、次の内容が含まれます。
/etc/rc0.d/K22acct および /etc/rc2.d/S22acct 起動スクリプトの作成
crontab ファイル /var/spool/cron/crontabs/adm および /var/spool/cron/crontabs/root の変更
表 19-2 に、デフォルトのアカウンティング管理スクリプトを説明します。
表 19-2 デフォルトのアカウンティング管理スクリプト
アカウンティングスクリプト |
マニュアルページ |
種類 |
実行頻度 |
---|---|---|---|
ckpacct |
ckpacct(1M) |
/usr/adm/pacct ログファイルのサイズをチェックし、ファイルが大きくなりすぎていないことを確認する |
定期的 |
runacct |
runacct(1M) |
接続、ディスク、および料金のアカウンティング情報を処理する。 このスクリプトから、処理したくないアカウンティング機能のコマンドを削除できる |
日次 |
monacct |
monacct(1M) |
会計アカウンティング要約レポートを月に 1 回のベースで生成する。このスクリプトの実行頻度を決めることができる。このスクリプトから、生成したくないアカウンティング機能のコマンドを削除できる |
会計期間に基づく |
デフォルトでどのアカウンティングスクリプトを実行するのかを選択できます。これらのエントリを crontab ファイルに追加すると、アカウンティングは自動的に実行されるようになります。
スーパーユーザーになります。
必要な場合は、pkgadd コマンドを使用して、システムに 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/rc2.d/S22acct |
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/acct/holidays を編集して祭日と休日を含めます。
詳細は、holidays(4) のマニュアルページおよび次の例を参照してください。
システムをリブートするか、手入力でアカウンティングを起動します。
# /etc/init.d/acct start |
この編集された adm の crontab には、ckpacct、runacct および monacct スクリプトが含まれています。
#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 |
この編集された root の crontab には、dodisk プログラムのエントリが含まれています。
#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. # # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * * /usr/sbin/logadm 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c> /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean 30 22 * * 4 /usr/lib/acct/dodisk |
次に /etc/acct/holidays ファイルの例を示します。
* @(#)holidays January 1, 2001 * * Prime/Nonprime Table for UNIX Accounting System * * Curr Prime Non-Prime * Year Start Start * 1999 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 |