After upgrading several systems from 1.3.x to 1.4.2 we noticed that the log size and rotation settings were missing.
So we did it ourself:
set system logs logrotate messages max-size '20' set system logs logrotate messages rotate '12'
At first it looks good but it brings up the following problem for /var/log/messages:
According to the template used for rsyslogd (https://github.com/vyos/vyos-1x/blob/circinus/data/templates/rsyslog/rsyslog.conf.j2#L18),
the log size is fixed to 256K. So rsyslogd calls logrotate as configure by the template.
But nothing happens.
Why? sudo logrotate -d /etc/logrotate.conf shows the answer:
rotating pattern: /var/log/messages 20971520 bytes (12 rotations) empty log files are not rotated, old logs are removed considering log /var/log/messages Now: 2025-05-22 12:28 Last rotated at 2025-05-22 10:45 log does not need rotating (log size is below the 'size' threshold)
So after specifying anything for system logs logrotate messages max-size causes the problem.
The solution would be to use the setting from system logs logrotate messages max-size times 1048576 in the
rsyslogd template for the /var/log/messages global settings, if there is something defined.
if not it could stick with the default value (e.g. 256K for VyOS 1.4.x).