用logrotate切割日志
2024年7月27日...大约 1 分钟
安装
如果系统没有安装 logrotate
,则使用下面的命令安装:
sudo apt update && sudo apt install logrotate
配置
配置文件存放在 /etc/logrotate.d/
目录下,这里以配置一个 Nginx 的日志分割做示范。
创建一个名为 nginx
的文件,使用文本编辑器打开它,写入配置项:
/var/log/nginx/*.log {
su www www
daily
dateext
minsize 5M
missingok
rotate 20
copytruncate
notifempty
}
配置文件中每项参数的含义:
/var/log/nginx/*.log
:指定要管理的日志文件路径。su
:指定在轮换日志文件时使用的用户和组。daily
:日志文件将按天轮循,即每天进行一次切割操作。dateext
:轮换日志文件时,使用日期作为扩展名。minsize
:仅当日志文件大小达到设置大小或以上时才进行轮换。missingok
:日志文件不存在时不报错。rotate
:保留最近轮换的日志文件的数量。copytruncate
:在轮换前复制原始日志文件并截断原始文件。这对于那些在无法关闭文件描述符的情况下非常有用,确保新的日志数据仍然写入原始文件。notifempty
:仅当日志文件非空时才进行轮换。
Powered by Waline v3.3.2