JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (上級編)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  端末とモデムの管理 (概要)

2.  端末とモデムの設定 (手順)

3.  サービスアクセス機能によるシリアルポートの管理 (手順)

4.  システム資源の管理 (概要)

5.  システム情報の表示と変更 (手順)

6.  ディスク使用の管理 (手順)

7.  UFS 割り当て制限の管理 (手順)

8.  システムタスクのスケジュール設定 (手順)

9.  システムアカウンティングの設定と管理 (手順)

10.  システムアカウンティング (リファレンス)

runacct スクリプト

日次アカウンティングレポート

日次レポート

日次利用状況レポート

日次コマンド要約

月次コマンド要約

最終ログインレポート

acctcom による pacct ファイルの確認

システムアカウンティングファイル

runacct スクリプトが生成するファイル

11.  システムパフォーマンスの管理 (概要)

12.  システムプロセスの管理 (手順)

13.  システムパフォーマンスの監視 (手順)

14.  ソフトウェアの問題解決 (概要)

15.  システムメッセージの管理

16.  コアファイルの管理 (手順)

17.  システムクラッシュ情報の管理 (手順)

18.  ソフトウェアで発生するさまざまな問題の解決 (手順)

19.  ファイルアクセスでの問題の解決 (手順)

20.  UFS ファイルシステムの不整合解決 (手順)

21.  ソフトウェアパッケージで発生する問題の解決 (手順)

索引

runacct スクリプト

主な日次アカウンティングスクリプトである runacct は、通常の業務時間帯を避けて cron コマンドにより起動されます。この runacct スクリプトは、接続、料金、ディスク、プロセス用の各アカウンティングファイルを処理します。さらに、このスクリプトは、課金目的で prdaily スクリプトと monacct スクリプトが使用する、日次および累積の要約ファイルも準備します。

runacct スクリプトは、エラーが発生した場合、ファイルを壊さないよう注意します。

一連の保護機構により、次の作業が実行されます。

このスクリプトは、説明メッセージを active というファイルに書き込み、進捗状況を記録します。runacct スクリプトが使用するファイルは、特記しない限り、/var/adm/acct/nite ディレクトリにあります。 runacct スクリプト実行中の診断内容の出力は、fd2log ファイルに書き込まれます。

runacct スクリプトが実行されると、lock ファイルおよび lock1 ファイルが作成されます。これらのファイルは、runacct スクリプトが同時に実行されるのを防ぎます。runacct プログラムは、起動時にこれらのファイルが存在すれば、エラーメッセージを出力します。lastdate ファイルには runacct スクリプトが最後に起動されたときの月日が入っています。このファイルは runacct スクリプトを 1 日に 1 回しか実行できないようにするために使用されます。

runacct スクリプトがエラーを検出すると、以下が実行されます。

runacct スクリプトを再起動する手順については、runacct スクリプトを再起動する方法」を参照してください。

runacct スクリプトを再起動可能にするために、処理は再入可能な別々の状態に分割されます。statefile というファイルを使用して、最後に終了した状態が追跡されます。各状態が終了するたびに、statefile は更新されて次の状態が反映されます。その状態の処理が終了すると、statefile ファイルが読み取られて次の状態が処理されます。runacct スクリプトは、CLEANUP 状態に達すると、ロックを解除して実行を終了します。各状態は次の表のように実行されます。

表 10-1 runacct スクリプトの状態

状態
説明
SETUP
turnacct switch コマンドが実行されて新しい pacct ファイルが作成される。/var/adm/pacctn プロセスアカウンティングファイル (pacct ファイルは除く) は /var/adm/Spacctn.MMDD ファイルに移される。/var/adm/wtmpx ファイルは /var/adm/acct/nite/wtmp.MMDD ファイルに移動され (現在の時間のレコードは終わりに追加される)、新しい /var/adm/wtmp ファイルが作成される。closewtmp プログラムおよび utmp2wtmp プログラムは、現在ログインしているユーザーのアカウンティングのために wtmp.MMDD ファイルと新しい wtmpx ファイルにレコードを追加する
WTMPFIX
wtmpfix プログラムが nite ディレクトリ内の wtmp.MMDD ファイルを調べて誤りがないか確認する。日付の変更により、acctcon プログラムの失敗が引き起こされることがあるため、日付のレコードが変更されると、 wtmpfix プログラムは wtmpx ファイルのタイムスタンプを調整しようとする。さらに、 wtmpx ファイルからのエントリが壊れていた場合、壊れたエントリをすべて削除する。修復されたバージョンの wtmp.MMDD ファイルは tmpwtmp ファイルに書き込まれる
CONNECT
acctcon プログラムを使用して、ctacct.MMDD ファイルに接続アカウンティングレコードを記録する。これらのレコードは tacct.h 形式になっている。acctcon プログラムは、さらに lineuse ファイルおよび reboots ファイルを作成する。reboots ファイルは、wtmpx ファイルで見つかったすべてのブートレコードを記録する
PROCESS
acctprc プログラムを使用して、/var/adm/Spacctn.MMDD プロセスアカウンティングファイルを ptacctn.MMDD ファイルのアカウンティングレコードの合計に変換する。runacct スクリプトが失敗した場合に、Spacct ファイルが処理されないように、Spacct ファイルと ptacct ファイルは番号で照合される
MERGE
acctmerg プログラムが、プロセスアカウンティングレコードを接続アカウンティングレコードとマージして daytacct ファイルを作成する
FEES
acctmerg プログラムが、fee ファイルからの ASCII tacct レコードを daytacct ファイルにマージする
DISK
dodisk スクリプトが disktacct ファイルを作成する。dodisk スクリプトが実行されて disktacct ファイルが作成されている場合、DISK プログラムはそのファイルを daytacct ファイルにマージし、disktacct ファイルを /tmp/disktacct.MMDD ファイルに移動させる
MERGETACCT
acctmerg プログラムが、daytacct ファイルを累積合計アカウンティングファイルである sum/tacct ファイルとマージする。daytacct ファイルは毎日 sum/tacct.MMDD ファイルに保存されるため、sum/tacct ファイルは壊れたり失われたりしても、作成し直すことができる
CMS
acctcms プログラムが数回実行される。まず、このプログラムが実行され、Spacctn ファイルを使用してコマンド要約を生成し、このデータを sum/daycms ファイルに書き込む。次に、acctcms プログラムは、sum/daycms ファイルと sum/cms 累積コマンド要約ファイルをマージする。最後に、acctcms プログラムは、nite/daycms および nite/cms という ASCII コマンド要約ファイルを、それぞれ sum/daycms および sum/cms ファイルから作成する。lastlogin プログラムを使用して /var/adm/acct/sum/loginlog ログファイルを作成する。このファイルは、各ユーザーが最後にログインした時刻をレポートする。runacct スクリプトが真夜中を過ぎてから実行された場合は、いずれかのユーザーが最後にログインした時刻を示す日付が 1 日分狂うことになる
USEREXIT
インストールに依存する任意の (ローカル) アカウンティングプログラムをこの時点で実行することができる。runacct スクリプトは、そのプログラムを /usr/lib/acct/runacct.local プログラムと呼ばれるものと想定する
CLEANUP
一時ファイルを整理し、prdaily スクリプトを実行し、その出力を sum/rpt.MMDD ファイルに保存し、ロックを解除し、終了する

注意

注意 - runacct スクリプトを CLEANUP 状態で起動し直すときに、最後の ptacct ファイルは不完全になるため削除してください。