Во время ротации сообщения журнала могут оказаться в либо старый, либо новый файл, но детерминированным образом. Logrotate делает примерно следующее для каждого файла журнала:
Если сообщения регистрируются между 1 и 2, они попадают в переименованный журнал, потому что rename не влияет на дескрипторы открытых файлов (именно поэтому сжатие происходит только после того, как приложения повторно открывают свои журналы). Сообщения, зарегистрированные после 2, попадут в новый журнал.
Вот отрывок из моей конфигурации logrotate, которая делает то, что я описал для журналов nginx:
/var/log/nginx/*.log {
compress
delaycompress
postrotate
[ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid`
endscript
}