Making logrotate remove old logs after reducing 'rotate' value

Solution 1:

You could add a postrotate script to your current block in order to delete files older than n days with the following :

find /var/log/apache2 -maxdepth 1 -mtime +<n> -name "*.log.*.gz" -delete &>/dev/null

Wait for the next rotation then remove it and let logrotate do its normal job again.