将输出从 syslog 重定向到自己的日志

将输出从 syslog 重定向到自己的日志

我正在关注这个教程:使用 Fail2ban 阻止错误的 ISPConfig 登录但是 rsyslog 不会将输出从一个文件重定向到另一个文件:

/etc/rsyslog.d/12-ispconfig.conf

if $programname == 'ispconfig' then /var/log/ispconfig.log #the file exists 

尽管有这一行,我还是不断得到输出syslog

ispconfig[1117]: 用户 asdasd 在 IP XX.XX.XXX.XX 上登录失败

-rw-r--r--  1 syslog adm        0 Sep 12 16:13 ispconfig.log

任何想法如何解决这一问题?

答案1

@w0rldart 在你的问题中你写道

但 rsyslog 不会重定向

在另一篇文章中你写道

ubuntu 服务器的 sysklogd

那么什么是真的呢?

对于 rsyslogd 来说,情况如下

/etc/rsyslog.d/log-all.conf:
:programname, isequal, "ispconfig" /var/log/ispconfig.log
# optionally you can clear this from the original to avoid the line being logged twice
:programname, isequal, "ispconfig" ~

重新启动 rsyslogd

/etc/init.d/rsyslog restart

答案2

无法让 @toh 的答案在 Ubuntu 13 上运行 - 事实证明该文件必须命名为 25-ispconfig.conf 之类的名称。它处理了 log-all.conf,或者至少在我故意在其中写入垃圾内容时显示错误。它开始记录到新文件,但也不会停止记录到 syslog。

必须在 25-dnsmasq.conf 中执行以下操作:

:programname, contains, "dnsmasq" /var/log/dnsmasq.log
& ~

如果没有 50 点声望就无法发表评论,因此我发布了一个答案。

现在我只需要弄清楚如何轮换文件,这样我的 /var/log 中就不会出现巨大的日志文件

相关内容