I have configured logrotate to rotate only when the log file size is beyond a certain limit. Some logrotate definitions have postrotate scripts which seem to run every time logrotate is invoked, no matter if the log file in question has been rotated or not. Thus there is some processing going on even though logrotate does not need to change the log file.

Is there a way to skip the postrotate part if the log file has not been rotated?

  • Are you sure that postrotate is really running when no file was rotated? It shouldn't.
    – rudimeier
    May 29, 2017 at 12:53
  • I have configured logwatch.conf with
    – user333869
    May 31, 2017 at 4:59
  • I have configured logrotate.conf with size=3M rotate 2 create compress delaycompress include /etc/logrotate.d /var/log/wtmp { size=3M create 0664 root utmp rotate 1 } and running logrotate -d -f /etc/logrotate.conf shows "considering log /var/log/wtmp log needs rotating" although wtmp is way below 3M. /etc/logrotate.d/syslog-ng has the same defaults and a postrotate script which says "invoke-rc.d syslog-ng reload" which is always run by logrotate although /var/log/syslog is only a few hundred kB.
    – user333869
    May 31, 2017 at 5:10
  • Option -f tells logrotate to force the rotation.
    – rudimeier
    May 31, 2017 at 5:25

1 Answer 1


Sorry for the mistake. I did run logrotate -d -f /etc/logrotate.conf which forces the rotation even if the conditions do not match. If I run it without the -f option everything works as desired.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .