A maxsize 100M entry is a rotation trigger, not a live cap on Tinyproxy's log file. If logrotate runs once a day, the file can grow past 100 MB before the next check.

For Tinyproxy writing a direct LogFile, merge a policy such as this into its existing logrotate stanza:

daily
maxsize 100M
rotate 7
compress
delaycompress

Keep the installed stanza's correct path, ownership, create permissions and service-specific postrotate handling. This fragment supplies the retention policy, not the full service integration.

Arrange a more frequent logrotate invocation if daily checks leave too much growth. Each invocation evaluates the rules; it does not necessarily rotate. With size-driven rotation, rotate 7 means seven rotated files and may represent fewer than seven days.

The reopen completes the rotation

After the file is renamed, Tinyproxy needs to reopen its log. Tinyproxy documents SIGUSR1 as reloading configuration and closing and reopening the log file; it reloads filter configuration too. Preserve a packaged helper that already performs the correct action instead of guessing a signal or PID-file location.

Deleting the active file does not coordinate that reopen. copytruncate avoids the rename-and-reopen arrangement but has a documented interval in which data can be lost during copying and truncation.

If the proxy sends logs to Syslog, apply retention at the receiving logging system instead of adding a rule for a file Tinyproxy does not write.

Artiglyn mynjee