一,fail2ban默认安装了日志分割文件
文件位置:/etc/logrotate.d/fail2ban
[root@blog logrotate.d]# rpm -qf /etc/logrotate.d/fail2ban
fail2ban-server-1.0.2-12.el9.noarch
可以看到此文件来自于fail2ban-server这个rpm包
配置文件默认内容:
[root@iZ2zejc9t0hf6pnw6sewrxZ logrotate.d]# more fail2ban
#
# Gentoo:
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/fail2ban/files/fail2ban-logrotate?view=markup
#
# Debian:
# https://github.com/fail2ban/fail2ban/blob/debian/debian/fail2ban.logrotate
/var/log/fail2ban.log {
missingok
notifempty
postrotate
/usr/bin/fail2ban-client flushlogs >/dev/null || true
endscript
}
二,设置为每天转存一个文件:
设置后的配置文件:
[root@blog logrotate.d]# more fail2ban
#
# Gentoo:
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/fail2ban/files/fail2ban-logrotate?view=markup
#
# Debian:
# https://github.com/fail2ban/fail2ban/blob/debian/debian/fail2ban.logrotate
/var/log/fail2ban.log {
missingok
daily
rotate 30
notifempty
dateext
sharedscripts
postrotate
/usr/bin/fail2ban-client flushlogs >/dev/null || true
endscript
}
各配置项的说明:
daily: 每天轮转一次日志
rotate 30: 保留30份旧日志
dateext: 这个参数的作用: 切割后的日志文件以当前日期为格式结尾,如xxx.log-20131216这样,
如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1这种格式
sharedscripts: 作用是: 有多个日志时,在所有日志都轮转后统一执行一次脚本。
如果没有配置这个,那么每个日志轮转后都会执行一次脚本
missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
notifempty: 如果日志文件为空,轮循不会进行。
postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。
设置完成后无需重启服务
标签:bin,cgi,log,按天,logrotate,fail2ban,日志 From: https://www.cnblogs.com/architectforest/p/18426795