実行中のsyslogデーモンを識別するためにLinuxシェルスクリプト(sh、bash、またはcsh)を作成しています。それを行うための最良の方法は何ですか?私はRHELとrpmベースの配布のみを考慮しているので、Debianとその派生物は無視できます。
7496 次
3 に答える
3
私の知る限り、 RHELで使用できるのはsyslog-ngとrsyslog(デフォルト)だけです。プロセススペースを調べて、現在開いているプロセスを/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 に答える