我正在尝试通过 syslog-ng 将系统日志通过管道传输到 perl 脚本,但并非所有系统日志条目都能通过 - 实际上可能有三分之一的情况发生。
我找遍了整个地方,找不到任何远程有我遇到的问题的人。看起来很简单,但我找不到答案!
这是我的 syslog-ng 设置:
source s_1 { tcp(port(514)); };
destination d_zen { program("/tmp/zen.pl"); };
log { source(s_1); destination(d_zen); };
这是我的 perl 脚本:
#!/usr/bin/perl
use strict;
use warnings;
$|=1
my $filename = "/tmp/zen.log";
open(my $fh, '>>', $filename) or die "could not open file '$filename' $!";
while ( <STDIN> ) {
print $fh <STDIN>."\n";
};
有什么想法吗?