如何在 Linux 中通过 logrotate 对自定义日志文件进行轮换

在本例中,/var/log/secure.log 将每天轮换,如果日志文件大小超过 100mb,则轮换进程将启动。

  1. 默认情况下,系统通过检查位于 /etc/logrotate.d/ 中的 syslog 文件来轮换所有主要操作系统日志
# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true
endscript
}
#
  1. 要为 /var/log/secure 添加单独的日志轮换策略,只需散列上述 syslog 文件中的条目并在 /etc/logrotate.d/ 中创建单独的文件
# cd /etc/logrotate.d/
# touch securelog
# chmod 644 securelog; chown root:root securelog
# vi securelog
/var/log/secure.log
{
daily
maxsize 100M
rotate 4
}
之路 on it Road.com

说明

每天轮换日志文件。

maxsize 当日志文件在另外指定的时间间隔(每天、每周、每月或者每年)之前增长超过 X 大小字节时,它们会被轮换。

旋转日志文件在被删除或者邮寄到邮件指令中指定的地址之前旋转 [count] 次。
如果计数为 0,则删除旧版本而不是轮换。

查看手册页 了解更多信息。

# man logrotate
日期:2020-09-17 00:13:49 来源:oir作者:oir