Group: Forum Members
The short answer is that you’re mostly there, but there are a couple of things to consider and there’s also likely a much simpler configuration to achieve your goal.
Note that your setup will have some aberration from expectations in a month that has five Mondays, since you would then need 4 Diffs to have a weekly Diff for each week of that month. The result of your setup in that situation would be that the oldest Diff in that set, and its child Incrementals, would be deleted earlier than its parent Full, since you’re only permitting 9 Differentials total to be retained. Same goes for Incrementals, where you won’t have precisely 48 non-Monday weekdays in every three-month period.
One way to address that would be to switch the retention “metric” on the right from quantity of backups to period of time. You can even mix and match those, e.g. retaining Fulls based on time and Incrementals based on quantity.
But more importantly, what do you want to happen AFTER you’ve accumulated the number of backups you’ve described? For example, after 3 months when you’ve accumulated as many backups as you’ll have at any given time, you now move to the first Monday of Month #4 and create a new Full. What are you expecting Reflect to delete at that point? It sounds like you’d be comfortable with Reflect purging the entire set of backups from Month #1 at that point. In that case, the simpler configuration you can use would be to simply uncheck the Differential and Incremental retention policies entirely. In that case, Reflect will allow them to accumulate and only purge them when their parent Full is purged. If that’s what you want to happen anyway, then you don’t have to worry about customizing “downlevel” retention policies and the aberrations that can arise from doing so. That’s only necessary for scenarios where you might want to purge downlevel backups sooner than their parent Full, e.g. monthly Fulls and daily Incrementals, but only retaining Incrementals for a week.
But you may still want to switch to time-based retention. Additionally, you probably want to disable “Run purge before backup”. If you only want purges to occur when Fulls are created, then a pre-backup purge isn’t necessary because Reflect will purge based on disk space (in your setup) in the middle of a job if that’s necessary to complete a new backup. But if on the other hand you purge upfront and then the new Full backup fails, you would be left having just lost a month’s worth of backups and still having no new backup to show for it.