根据大小旋转文件

Jay*_*Jay 4 linux centos logrotate

我有以下设置:/var/log/maillog从文件中删除包含行,并在文件/etc/logrotate.d/syslog中添加以下内容:/etc/logrotate.conf

...

# system-specific logs may be also be configured here.

/var/log/maillog
{
    missingok
    notifempty
    nocompress
    size=50k
    postrotate
        touch /var/log/maillog
    endscript
}
Run Code Online (Sandbox Code Playgroud)

为什么touch /var/log/maillog当文件大小达到 50k 时该行永远不会被执行?

ora*_*ell 5

因为使用大小限制轮换时可能会在一天内进行多次轮换,所以使用dateext选项是不合逻辑的。从您的评论显示的结果来看logrotate -d /etc/logrotate.conf,它似乎已启用。

dateext您可以通过添加选项在块中禁用nodateext。现在配置将是:

...

# system-specific logs may be also be configured here.

/var/log/maillog
{
    missingok
    notifempty
    nocompress
    size=50k
    nodateext ## ADD THIS LINE ##
    postrotate
        touch /var/log/maillog
    endscript
}
Run Code Online (Sandbox Code Playgroud)