Solaris のシステム管理 (上級編)

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

この章では、システムアカウントの参照情報について説明します。

この章の内容は次のとおりです。

システムアカウンティングの作業については、第 9 章システムアカウンティングの設定と管理 (手順)を参照してください。

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 ファイルは不完全になるため削除してください。


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

runacct シェルスクリプトは、呼び出されるたびに基本的な 5 種類のレポートを生成します。これらのレポートは次の表のとおりです。

表 10–2 日次アカウンティングレポート

レポートの種類 

説明 

「日次レポート」

tty 番号別の端末回線の利用状況を示す

「日次利用状況レポート」

ユーザー別のシステム資源の利用状況を示す。ユーザー ID 順に表示される 

「日次コマンド要約」

コマンド別のシステム資源の利用状況を示す。メモリー使用量が大きい順に表示される。つまり、メモリーをもっとも多く使用したコマンドから先に表示される。これと同じ情報が月次コマンド要約で該当月について報告される  

「月次コマンド要約」

monacct プログラムの最新の実行から累積した日付を反映した累積概要

「最終ログインレポート」

各ユーザーが最後にログインした日付を示す。日付順に表示される 

日次レポート

このレポートは、使用された各端末回線に関する情報を示します。次に日次レポートの例を示します。


Jan 16 02:30 2004  DAILY REPORT FOR venus Page 1


from Mon Jan 15 02:30:02 2004
to   Tue Oan 16 02:30:01 2004
1       runacct
1       acctcon

TOTAL DURATION IS 1440 MINUTES
LINE         MINUTES  PERCENT  # SESS  # ON  # OFF
console      868      60       1       1     2
TOTALS       868      --       1       1     2

from および to の行は、レポートに反映される時間帯を指定します。この時間帯とは、直前の日次レポートが生成された時間から現在の日次レポートが生成されるまでの時間のことです。次に、このレポートにはシステムリブート、シャットダウン、電源異常からの回復に関するログ、および、acctwtmp プログラムによって /var/adm/wtmpx ファイルに書き込まれたその他すべてのレコードが続きます。詳細は、acct(1M) のマニュアルページを参照してください。

このレポートの第 2 部は回線利用状況の内訳です。TOTAL DURATION は、システムがどれだけの時間マルチユーザーモード (端末回線を通してアクセス可能) であったかを示します。次の一覧は、日次レポートのデータを説明したものです。

LINE

端末回線またはアクセスポート

MINUTES

アカウンティング期間を通じてこの回線が使用中であった時間 (分)

PERCENT

TOTAL DURATIONMINUTES の値で割った数値

# SESS

この回線またはポートがログインセッション用にアクセスされた回数

# ON

SESS に同じ。(このカラムにはそれ以上の意味はありません。以前は、回線またはポートがユーザーのログインに使用された回数が表示されていました。)

# OFF

この回線でユーザーがログアウトした回数と発生した割り込みを表します。割り込みは一般にシステムがマルチユーザーモードにされてから ttymon が初めて起動されたときに発生します。 # OFF# SESS を大きく上回る場合は、マルチプレクサ、モデム、ケーブルに障害がある可能性があります。あるいは、どこかに接続の問題がある可能性があります。一番考えられる原因は、マルチプレクサからのケーブルの接続が外れたままになっていることです。

マシンの稼働中は、/var/adm/wtmpx ファイルが接続アカウンティングの元になるため、このファイルを監視する必要があります。wtmpx ファイルが急速に大きくなる場合は、次のコマンドを実行して、どの tty 回線がもっとも使用頻度が高いかを調べてください。


# /usr/lib/acct/acctcon -l file < /var/adm/wtmpx

割り込みが頻繁に発生する場合は、全般的なシステムのパフォーマンスが影響を受けることになります。さらに、wtmp ファイルが壊れることもあります。この問題を解決するには、「壊れた wtmpx ファイルの修復方法」を参照してください。

日次利用状況レポート

日次利用状況レポートは、システム資源の利用状況のユーザー別の内訳を示します。このレポートの例は、次のとおりです。


Jan 16 02:30 2004  DAILY USAGE REPORT FOR skisun Page 1


     LOGIN  CPU  (MINS)  KCORE-   MINS    CONNECT  (MINS) DISK   # OF   # OF  # DISK  FEE
UID  NAME   PRIME NPRIME PRIME    NPRIME  PRIME    NPRIME BLOCKS PROCS  SESS  SAMPLES
0    TOTAL  72    148    11006173 51168   26230634 57792  539    330    0     2150    1
0    root   32    76     11006164 33664   26230616 22784  0      0      0     127     0
4    adm    0     0      22       51      0        0      0      420    0     0       0
101  rimmer 39    72     894385   1766020 539      330    0      1603   1     0       0

次の表は、日次利用状況レポートのデータを説明したものです。

表 10–3 日次利用状況レポート

列 

説明 

UID

ユーザー ID 番号。 

LOGIN NAME

ユーザーのログイン (またはユーザー) 名。複数のログイン名をもつユーザーを識別します。  

CPU (MINS)

ユーザーのプロセスが CPU を使用した時間を分単位で表します。PRIME (プライムタイム時間帯) と NPRIME (プライムタイム時間帯外) の使用に分類されます。アカウンティングシステムのこれらのデータのバージョンは、/etc/acct/holidays ファイルに格納されています。

KCORE-MINS

プロセスが実行中に使用する累積メモリー量を表します。毎分あたりに使用される K バイトメモリーセグメント数を表します。PRIMENPRIME の使用に分類されます。

CONNECT (MINS)

ユーザーがシステムにログインしていた時間を分単位で表します。これは「実時間」とも呼ばれます。PRIMENPRIME の使用に分類されます。たとえば、この時間の値が大きく # OF PROCS の数値が小さい場合は、ログインの所有者がまず朝にログインし、その後はその日の終わりまで端末にほとんど触れていないと考えられます。

DISK BLOCKS

acctdusg プログラムからの出力であり、ディスクアカウンティングプログラムを実行し、アカウンティングレコード (daytacct) をマージします。アカウンティングの目的では、ブロックは 512 バイトです。

# OF PROCS

ユーザーが起動したプロセス数を表します。数値が大きい場合は、ユーザーのシェルプロシージャーが制御できなくなった可能性があります。 

# OF SESS

ユーザーがシステムにログインした回数。 

# DISK SAMPLES

平均ディスクブロック数 (DISK BLOCKS) を得るためにディスクアカウンティングが何回実行されたかを示します。

FEE

chargefee スクリプトによってユーザーに課金された累積合計単位数を表します。多くの場合は、使用されないフィールドです。

日次コマンド要約

日次コマンド要約レポートは、コマンド別のシステム資源の利用状況を示します。このレポートでは、使用率の高いコマンドを特定できます。それらのコマンドがどのようにシステム資源を利用しているかに基づいて、システムの最適なチューニング方法を知ることができます。

これらのレポートは TOTAL KCOREMIN によってソートされます。TOTAL KCOREMIN は任意の基準ですが、システムでの消費量の計算には便利な指標です。

日次コマンド要約の例を、次に示します。


								TOTAL COMMAND SUMMARY
COMMAND   NUMBER      TOTAL   TOTAL     TOTAL   MEAN    MEAN     HOG   CHARS   BLOCKS
NAME        CMDS    KCOREMIN CPU-MIN REAL-MIN  SIZE-K  CPU-MIN  FACTOR TRNSFD  READ

TOTALS      2150  1334999.75  219.59 724258.50 6079.48   0.10   0.00   397338982 419448

netscape      43  2456898.50   92.03  54503.12 26695.51  2.14   0.00   947774912 225568
adeptedi       7    88328.22    4.03    404.12 21914.95  0.58   0.01    93155160   8774
dtmail         1    54919.17    5.33  17716.57 10308.94  5.33   0.00   213843968  40192
acroread       8    31218.02    2.67  17744.57 11682.66  0.33   0.00   331454464  11260
dtwm           1    16252.93    2.53  17716.57 6416.05   2.53   0.00   158662656  12848
dtterm         5     4762.71    1.30  76300.29 3658.93   0.26   0.00    33828352  11604
dtaction      23     1389.72    0.33      0.60 4196.43   0.01   0.55    18653184    539
dtsessio       1     1174.87    0.24  17716.57 4932.97   0.24   0.00    23535616   5421
dtcm           1      866.30    0.18  17716.57 4826.21   0.18   0.00     3012096   6490

次の一覧は、日次コマンド要約のデータを説明したものです。

COMMAND NAME

コマンド名。プロセスアカウンティングシステムではオブジェクトモジュールしか報告されないので、シェルプロシージャーはすべて sh という名前で取り扱われる。a.out または core と呼ばれるプログラム、またはその他の、適切とは思われない名前のプログラムの使用頻度を監視すると良い。acctcom プログラムを使用して、名前に疑問があるコマンドを誰が実行したか、スーパーユーザー特権が使用されたかどうかを知ることができる

NUMBER CMDS

このコマンドが実行された回数合計

TOTAL KCOREMIN

実行時の毎分当たりにプロセスが使用した K バイトメモリーセグメント数という計量値の累積合計

TOTAL CPU-MIN

このプログラムの累積合計処理時間

TOTAL REAL-MIN

このプログラムのプライムタイム時間帯の累積合計実時間 (壁掛け時計)。分単位

MEAN SIZE-K

NUMBER CMDS で表される呼び出し回数に対する TOTAL KCOREMIN の平均

MEAN CPU-MIN

NUMBER CMDS に対する TOTAL CPU-MIN の平均

HOG FACTOR

合計 CPU 時間を経過時間で割った値。システム利用可能時間とシステム使用時間との比であり、プロセスがその実行中に消費する合計利用可能 CPU 時間の相対値を示す

CHARS TRNSFD

読み取りおよび書き込みシステムコールによって転送された文字の合計数。オーバフローのために負の値になることがある

BLOCKS READ

プロセスが実行した物理ブロックの読み取りおよび書き込みの合計数

月次コマンド要約

日次コマンド要約と月次コマンド要約のレポート形式は、実際は同じものです。ただし、日次コマンド要約は現在のアカウンティング期間だけでレポートするのに対し、月次コマンド要約は会計期間の当初から現在の日付までをレポートします。つまり、月次レポートは、monacct プログラムが最後に実行されたときからの累積データの累積要約を表します。

月次コマンド要約の例を次に示します。


Jan 16 02:30 2004  MONTHLY TOTAL COMMAND SUMMARY Page 1


                                     TOTAL COMMAND SUMMARY
COMMAND   NUMBER      TOTAL   TOTAL     TOTAL   MEAN     MEAN    HOG      CHARS    BLOCKS
NAME        CMDS    KCOREMIN CPU-MIN  REAL-MIN  SIZE-K   CPU-MIN FACTOR  TRNSFD    READ

TOTALS     42718  4398793.50  361.92  956039.00 12154.09 0.01    0.00  16100942848 825171

netscape     789  3110437.25  121.03   79101.12 25699.58 0.15    0.00   3930527232 302486
adeptedi      84  1214419.00   50.20    4174.65 24193.62 0.60    0.01    890216640 107237
acroread     145   165297.78    7.01   18180.74 23566.84 0.05    0.00   1900504064  26053
dtmail         2    64208.90    6.35   20557.14 10112.43 3.17    0.00    250445824  43280
dtaction     800    47602.28   11.26      15.37  4226.93 0.01    0.73    640057536   8095
soffice.      13    35506.79    0.97       9.23 36510.84 0.07    0.11    134754320   5712
dtwm           2    20350.98    3.17   20557.14  6419.87 1.59    0.00    190636032  14049

月次コマンド要約で提供されるデータの説明については、「日次コマンド要約」を参照してください。

最終ログインレポート

このレポートは、特定のログインが最後に使用された日付を示します。この情報を使用して、使用されていないログインやログインディレクトリを見つけることができます。それらのログインやログインディレクトリは保存して削除できます。次に、最終ログインレポートの例を示します。


Jan 16 02:30 2004  LAST LOGIN Page 1


01-06-12  kryten         01-09-08  protoA      01-10-14  ripley
01-07-14  lister         01-09-08  protoB      01-10-15  scutter1
01-08-16  pmorph         01-10-12  rimmer      01-10-16  scutter2

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

/var/adm/pacctn ファイル、または acct.h 形式のレコードを持つ任意のファイルの内容は、acctcom プログラムを使用していつでも調べることができます。このコマンドを実行するときに、ファイルも標準入力も指定しなければ、acctcom コマンドは pacct ファイルを読み取ります。acctcom コマンドで読み取られる各レコードは、終了したプロセスの情報を表します。アクティブなプロセスは、ps コマンドを実行して調べます。

acctcom コマンドのデフォルト出力は次に示す情報を示します。


# acctcom
COMMAND                           START    END          REAL     CPU    MEAN
NAME       USER     TTYNAME       TIME     TIME       (SECS)  (SECS) SIZE(K)
#accton    root      ?            02:30:01 02:30:01     0.03    0.01  304.00
turnacct   adm       ?            02:30:01 02:30:01     0.42    0.01  320.00
mv         adm       ?            02:30:01 02:30:01     0.07    0.01  504.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.03    0.01  712.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  824.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  912.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  920.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01 1136.00
utmp_upd   adm       ?            02:30:01 02:30:01     0.01    0.01  576.00
closewtm   adm       ?            02:30:01 02:30:01     0.10    0.01  664.00

次の一覧は、各フィールドを説明したものです。

COMMAND NAME

コマンド名 (# 記号はスーパーユーザー特権を使用して実行された場合)

USER

ユーザー名

TTYNAME

tty 名 (不明の場合は ?)

START TIME

コマンド開始時刻

END TIME

コマンド終了時刻

REAL (SECS)

実時間 (秒単位)

CPU (SECS)

CPU 時間 (秒単位)

MEAN SIZE (K)

平均サイズ (K バイト単位)

acctcom コマンドを使用すると、次の情報を得ることができます。

次の一覧では、acctcom コマンドオプションを解説します。

-a

選択したプロセスに関する特定の平均統計を表示する。統計は出力が記録された後に表示される

-b

ファイルを逆読みし、最後のコマンドから先に表示する。標準入力の読み込みには関係しない

-f

fork/exec フラグおよびシステム終了状態カラムを出力する。出力は 8 進数

-h

平均メモリーサイズの代わりに hog 係数を表示する。これは経過時間とプロセスが実行中に消費した合計 CPU 利用可能時間との比。hog 係数 = 合計 CPU 利用時間/経過時間

-i

入出力カウントを含むカラムを出力する

-k

メモリーサイズの代わりに、キロバイト/分ごとのコアサイズの合計値を表示する

-m

平均コアサイズを表示する。このサイズがデフォルト

-q

平均統計だけを出力する。出力レコードは出力しない

-r

CPU 係数を表示する。 ユーザー時間 / (システム使用時間 + ユーザー使用時間)

-t

システムおよびユーザー CPU 時間を表示する

-v

出力からカラム見出しを除外する

-C sec

合計 (システム + ユーザー) CPU 時間が sec 秒を超えたプロセスだけを表示する

-e time

time 以前に存在したプロセスを hr[:min[:sec]] の書式で表示する

-E time

time 以前に開始されたプロセスを hr[:min[:sec]] の書式で表示する同じ time を -S-E の両方に使用すれば、そのときに存在していたプロセスを表示する

-g group

group に属しているプロセスだけを表示する

-H factor

factor を超えるプロセスだけを表示する。ただし、factor は「hog 係数」(-h オプションを参照)

-I chars

chars によって指定されるカットオフ数を超える文字数を転送したプロセスだけを表示する

-l line

端末 /dev/line に属しているプロセスだけを表示する

-n pattern

pattern (「+」が 1 回以上現れることを意味する以外は、一般的な正規表現) に一致するコマンドだけを表示する

-o ofile

レコードを出力しないで、レコードを acct.h 形式で ofile にコピーする

-O sec

CPU システム時間が sec 秒を超えるプロセスだけを表示する

-s time

time 以後に存在したプロセスを hr[: min[: sec]] の書式で表示する

-S time

time 以後に開始されたプロセスを hr[: min[: sec]] の書式で表示する

-u user

user に属しているプロセスだけを表示する

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

/var/adm ディレクトリには、使用中のデータ収集ファイルが含まれています。次の一覧は、このディレクトリにあるアカウンティングファイルを説明しています。

dtmp

acctdusg プログラムからの出力

fee

chargefee プログラムからの出力である ASCII の tacct レコード

pacct

現在使用中のプロセスアカウンティングファイル

pacct n

turnacct スクリプトの実行によって切り替えられたプロセスアカウンティングファイル

Spacctn. MMDD

runacct スクリプトの実行中に生成された MMDD 日付のプロセスアカウンティングファイル

/var/adm/acct ディレクトリには、nitesum、および fiscal ディレクトリが設けられています。それぞれのディレクトリに実際のデータ収集ファイルが格納されます。たとえば、nite ディレクトリは runacct スクリプトが毎日繰り返して使用するファイルを格納しています。次の表で、/var/adm/acct/nite ディレクトリ内の各ファイルを簡単に説明します。

表 10–4 /var/adm/acct/nite ディレクトリ内のファイル

ファイル 

説明 

active

runacct スクリプトが進捗状況の記録用、警告メッセージ、エラーメッセージの出力用として使用する

active.MMDD

runacct スクリプトがエラーを検出した後は、active ファイルに同じ

cms

prdaily スクリプトが使用する ASCII 合計コマンド要約

ctacct.MMDD

tacct.h 形式の接続アカウンティングレコード

ctmp

acctcon1 プログラムの出力。ctmp.h 形式の接続セッションレコードで構成される (acctcon1acctcon2 は互換性を保証するために用意)

daycms

prdaily スクリプトが使用する ASCII 日次コマンド要約

daytacct

tacct.h 形式の 1 日分の合計アカウンティングレコード

disktacct

tacct.h 形式のディスクアカウンティングレコード。dodisk スクリプトが作成する

fd2log

runacct スクリプトの実行中の診断出力

lastdate

runacct スクリプトが最後に実行された日 (date +%m%d 形式)

lineuse

prdaily スクリプトが使用する tty 回線利用状況レポート

lock

runacct スクリプトの逐次使用の制御に使用する

log

acctcon プログラムからの診断出力

log.MMDD

runacct スクリプトがエラーを検出した後は、log ファイルに同じ

owtmpx

前日の wtmpx ファイル

reboots

wtmpx ファイルからの開始および終了日付とリブートのリスト

statefile

runacct スクリプトの実行中の現在状態の記録用に使用

tmpwtmp

wtmpfix プログラムが修復した wtmpx ファイル

wtmperror

wtmpfix エラーメッセージが格納される場所

wtmperror MMDD

runacct スクリプトがエラーを検出したあとは、wtmperror ファイルに同じ

wtmp MMDD

runacct スクリプトが使用する wtmpx ファイルのコピー

sum ディレクトリは、runacct スクリプトが更新し、monacct スクリプトが使用する、累積要約ファイルを格納します。次の表で、 /var/adm/acct/sum ディレクトリの中にあるファイルを説明します。

表 10–5 /var/adm/acct/sum ディレクトリ内のファイル

ファイル 

説明 

cms

バイナリ形式の、会計期の合計コマンド要約ファイル  

cmsprev

最新の更新がなされていないコマンド要約ファイル  

daycms

内部要約書式の、当日の利用状況を表すコマンド要約ファイル  

loginlog

各ユーザーが最後にログインした日付のレコード。 lastlogin スクリプトによって作成され、 prdaily スクリプトによって使用される。

rprt.MMDD

prdaily スクリプトが保存し出力

tacct

会計期の累積合計アカウンティングファイル  

tacctprev

最新の更新がない点を除いて tacct ファイルと同じ

tacct.MMDD

MMDD 日付分の合計アカウンティングファイル

fiscal ディレクトリは monacct スクリプトが作成する定期的要約ファイルを格納します。次の表で、 /var/adm/acct/fiscal ディレクトリの中にあるファイルを説明します。

表 10–6 /var/adm/acct/fiscal ディレクトリ内のファイル

ファイル 

説明 

cmsn

内部要約書式の、会計期 n の合計コマンド要約ファイル

fiscrptn

会計期 nrprtn と同じレポート

tacctn

会計期 n の合計アカウンティングファイル

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

次の表で、runacct スクリプトによって生成される非常に有用なファイルを説明します。これらのファイルは、/var/adm/acct ディレクトリ内にあります。

表 10–7 runacct スクリプトが生成するファイル

ファイル  

説明 

nite/daytacct

tacct.h 形式の当日の合計アカウンティングファイル

nite/lineuse

runacct スクリプトは acctcon プログラムを呼び出し、/var/adm/acct/nite/tmpwtmp ファイルから端末の回線利用状況に関するデータを収集し、そのデータを /var/adm/acct/nite/lineuse ファイルに書き込む。prdaily スクリプトはこれらのデータを使用して回線利用状況を報告する。このレポートは特に不良回線の検出に有効となる。ログアウトとログインの回数の比率が 3 対 1 を上回る場合は、回線に障害が起こっている可能性が高い。

sum/cms

毎日のコマンド要約の累積。monacct スクリプトの実行によって新たに累積を開始する。ASCII バージョンは nite/cms ファイル

sum/daycms

runacct スクリプトは acctcms プログラムを呼び出し、当日中に使用されたコマンドを処理し、日次コマンド要約レポートを作成して、/var/adm/acct/sum/daycms ファイルにデータを保存する。ASCII バージョンは /var/adm/acct/nite/daycms ファイル

sum/loginlog

runacct スクリプトは lastlogin スクリプトを呼び出し、/var/adm/acct/sum/loginlog ファイルの各ログインの最終ログイン日付を更新する。lastlogin コマンドは、すでに有効ではないログインをこのファイルから削除する

sum/rprt.MMDD

runacct スクリプトが実行されるたびに、prdaily スクリプトによって印刷された日次レポートのコピーが保存される

sum/tacct

毎日の nite/daytacct データの累積が含まれており、課金の目的で使用される。monacct スクリプトは、各月または会計期ごとにデータの累積を新たに開始する。