Da página de manual do logrotate:
prerotate/endscript
The lines between prerotate and endscript (both of which must
appear on lines by themselves) are executed (using /bin/sh)
before the log file is rotated and only if the log will actually
be rotated. These directives may only appear inside a log file
definition. Normally, the absolute path to the log file is
passed as first argument to the script. If sharedscripts is
specified, whole pattern is passed to the script. See also
postrotate. See sharedscripts and nosharedscripts for error
handling.
Então, você deve adicionar uma entrada como esta no logrotate.conf:
/var/log/vnc.log
{
rotate 6
monthly
compress
missingok
prerotate
cat /var/log/vnc.log >> /archive/logs/vnc.log
endscript
}