5

実行中のsyslogデーモンを識別するためにLinuxシェルスクリプト(sh、bash、またはcsh)を作成しています。それを行うための最良の方法は何ですか?私はRHELとrpmベースの配布のみを考慮しているので、Debianとその派生物は無視できます。

4

3 に答える 3

3

私の知る限り、 RHELで使用できるのはsyslog-ngrsyslog(デフォルト)だけです。プロセススペースを調べて、現在開いているプロセスを/var/log/syslog確認するか、インストールされているsyslogデーモンを確認することができます(ただし、両方を同時にインストールすることもできます)。

$ lsof /var/log/messages /var/log/syslog 2>&1 | grep syslog
$ rpm -q rsyslog syslog-ng
$ pgrep -u root syslog | xargs ps -p
于 2012-09-20T10:58:28.890 に答える
1

lsofの出力を解析して、ファイル/ var / log/syslogが開いているプロセスを確認できます。非常に大雑把な例は次のとおりです。

sudo lsof | grep /var/log/syslog | cut -f1 -d' '

単一のディストリビューションを使用している場合は、より洗練されたチェック方法があるかもしれません。

于 2012-09-20T10:48:26.743 に答える
0

Debianベースのシステムでは、次のスクリプトを実行して、何がインストールされているかを確認します。

dpkg-query -l '*syslog*' | grep ii

これにより、次のような出力が得られます

ii  rsyslog  7.4.4-1ubuntu2.3  i386  reliable system and kernel logging daemon

そうすれば、ファイルなどをgrepする必要はありません。お役に立てば幸いです。

于 2014-10-31T07:45:43.397 に答える