システムアカウンティングは、システムがマルチユーザーモード (実行レベル 2) のときに実行されるように設定できます。このタスクには通常、次の内容が含まれます。
/etc/rc0.d/K22acct および /etc/rc2.d/S22acct 起動スクリプトの作成
crontab ファイル /var/spool/cron/crontabs/adm および /var/spool/cron/crontabs/root の変更
次の表に、デフォルトのアカウンティングスクリプトを説明します。
表 9–1 デフォルトのアカウンティングスクリプト
目的 |
アカウンティングスクリプト |
マニュアルページ |
実行頻度 |
---|---|---|---|
/usr/adm/pacct ログファイルのサイズをチェックし、ファイルが大きくなりすぎていないことを確認する |
ckpacct |
定期的 |
|
接続、ディスク、および料金のアカウンティング情報を処理する。このスクリプトから、処理したくないアカウンティング機能のコマンドを削除できる |
runacct |
日次 |
|
会計アカウンティング要約レポートを月に 1 回のベースで生成する。このスクリプトの実行頻度を決めることができる。このスクリプトから、使用したくないアカウンティング機能のコマンドを削除できる |
monacct |
会計期間に基づく |
デフォルトでどのアカウンティングスクリプトを実行するのかを選択できます。これらのエントリを crontab ファイルに追加すると、システムアカウンティングは自動的に実行されるようになります。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
必要な場合は、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/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/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. # # 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 |
次に、/etc/acct/holidays ファイルの例を示します。
* @(#)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 |