この特集のトップページへ
この回のトップページへ

Solarisの場合

 次の例は,Solarisでの例である。

リスト
別ウィンドウで見る or 05a.txt

 Solarisのsyslog.confは,最初にプリプロセッサm4で処理されるため,「ifdef」という書式が使用されている。「ifdef(LOGHOST, foo, bar)」の場合,LOGHOSTが定義されている際には「foo」,LOGHOSTが定義されていない場合には「bar」が当てはまる。

mail.debug           ifdef(`LOGHOST', /var/log/syslog, @loghost)

 上記の例は,「LOGHOST」が定義されている場合にはローカルサーバ上の/var/log/syslogに記録することを意味する。一方,LOGHOSTでない場合には,「loghost」というホストにログを送信する。つまり,LOGHOST が定義されている場合には,次のように解釈されるのだ。

mail.debug       /var/log/syslog

 また,LOGHOSTが定義されていない場合には,次のように解釈されてログ配信をすることになる。

mail.debug       @loghost

 同じく次のようなifdefによる定義がある場合,LOGHOSTが認識されると空として解釈される。LOGHOSTが定義されていない場合には,userの4行だけが解釈されるのだ。

ifdef(`LOGHOST', ,
user.err              /dev/sysmsg
user.err              /var/adm/messages
user.alert                   `root, operator'
user.emerg                   *'
)

 このように,syslogによる記録方式は管理者が自由にコントロールすることが可能である。標準設定でもある程度はサービスごとに記録ファイルが分けられているが,自分で見やすいように分類することがシステム管理をしていく上で重要な作業になるだろう。次回の連載5回目では,インターネットサーバを理解する上で最も重要なnamedについて解説していこう。

PREV 5/6 NEXT