system management
1752323 メンバー
5795 オンライン
108786 解決策
新規ポスト

syslogdについて

 
KN
貴重なコントリビューター

syslogdについて

いつもお世話になっております。

B.11.11とB.11.00の2つのサーバに対して情報を採取しようと以下のコマンドまたは採取するファイルを含むシェルスクリプトを実行しましたところ、syslogにメッセージがはかれなくなっていました。

date

echo $SHELL

hostname

model

uname -a

getconf KERNEL_BITS

getconf HW_CPU_SUPP_BITS

env

dmesg

ioscan -fnk

diskinfo -v

lanscan -v

ifconfig lan#

lanadmin -g #

netstat -in

netstat -rnv

arp -a

/etc/hosts

swlist

swlist -l product

swlist -l fileset -a state

show_patches -a

/stand/system

i4target -v

bdf

/etc/mnttab

/etc/fstab

lvlnboot -v

pvdisplay -v

vgdisplay -v

lvdisplay -v

/etc/lvmtab

swapinfo -tam

lsdev

setboot

/etc/rc.log

/etc/rc.log.old

/etc/shutdownlog

/var/adm/syslog/syslog.log

/var/adm/syslog/OLDsyslog.log

/var/adm/sw/swinstall.log

/var/adm/sw/swagentd.log

/var/adm/sw/swagent.log

/var/adm/sw/swconfig.log

/var/adm/sw/needs_config*

/var/adm/syslog/mail.log

/var/adm/ptydaemonlog

/var/adm/rbootd.log

/var/adm/snmpd.log

/var/adm/sulog

/var/opt/resmon/log/event.log

kill -HUP syslogdPIDにて、syslogdをrestartできましたが、原因は実行したシェルスクリプトにあるのでしょうか?それとも上記のコマンドがsyslogdに何らかの影響を与えてしまったのでしょうか?

どなたかお助け願います。
7件の返信7
uhyo
貴重なコントリビューター

syslogdについて

/var/adm/syslog/syslog.logの情報収集の際に

このファイルをmvとかはしてないですよね。

ご存知かもしれないですが、

syslogdは、起動時にsyslog.logをオープンして

ずっとつかんだままになります。これは何を

意味するかというと、例えばsyslog.logをmvで

違う名前にかえても、syslogdが再起動されるか、

SIGHUPを受けるまで、そのちがう名前のファイルに

出力されます(mvだとinode情報はかわらないので)。

思いついたのはこれくらいです。
Fu_Hi
頻繁なアドバイザー

syslogdについて

/var/adm/syslog/syslog.log

のi-node が変る操作をすると出力されなくなります。 

既存ファイルを削除して新規に同一名でファイルを作成するなど

TLSG01
貴重なコントリビューター

syslogdについて

 /var/adm/syslog/syslog.logへの記録は

デーモンが行う為に確実では有りません。

# dmesg

コマンドで表示される内容が

syslog.logへ不定期に書き込まれるだけなので

dmesg を定期的にファイルへWRITEする

デーモンを登録することが賢明です。

N.Hanyu
貴重なコントリビューター

syslogdについて

解決しませんか?

syslogの情報を取得、syslogにメッセージが吐かれなくなる。

この2つのキーワードだけから予想すると、

先の投稿の"uhyoさん”と”fujisawa_h”さんの意見で

ビンゴだと思いますが。

尚、ちょっと補足します。"mv"コマンドは同一ディレクトリ

でリネームする場合は、i-node情報は変わりませんが、

ディレクトリをまたがるとi-nodeは変わってしまいます。

syslog.logなどの情報を取得する場合は、

サービスを停止して取得することをお勧めします

参考は、/sbin/init.d/syslogdです。

nt
貴重なコントリビューター

syslogdについて

> ディレクトリをまたがるとi-nodeは変わってしまいます。

"ファイルシステムをまたがると" ですね。同一ファイルシステム

内であればディレクトリをまたがっても変わりません。
N.Hanyu
貴重なコントリビューター

syslogdについて

>"ファイルシステムをまたがると" ですね。

ですね。^^; フォローありがとうございます。

KN
貴重なコントリビューター

syslogdについて

ご回答どうもありがとうございます。

皆様のご指摘どおり、シェルスクリプトを見直したところ、syslog.logをmvさせておりました。以下のような手順でした。(今見るとなぜこのような手順にしたのか不明ですが・・)

1.cp syslog.log syslog.log.bk

2.mv syslog.log /hoge/

3.mv syslog.log.bk syslog.log

4./hoge/syslog.logを採取

5./hoge/syslog.logを削除

そのため、一切ログが吐き出されていない(消失?)状況でした。

しかも後で気づいて申し訳ないのですが技術情報ベースにも事例がありました。

これからはi-nodeを考慮して、cpかmvを使い分けれるようにします。どうもありがとうございました。