我正在关注这个教程:使用 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 中就不会出现巨大的日志文件