This option allows for more sophisticated backup retention. This works by setting up a number of rules for deleting backups, that apply to backups older than the specified time. Only one backup older than the specified age will be kept for each interval. This allows you to save storage space by deleting superfluous older backups.
Here is an example of a set of retention rules, for a database backup. Note that you don’t need to have such a complex set – this is just an example!
Firstly, up to a maximum of 40 scheduled backups are kept. Whatever else is kept or deleted, there will be no more than 40 scheduled backups kept.
Out of any backups older than 12 hours, one backup will be kept in every 8 hour period. What this means is that the first (i.e. youngest) backup that is older than 12 hours will be found; and then no more kept unless it is 12 + 8 hours old (20 hours), then another after 20 + 8 (28) hours, etc.
Out of any backups older than 5 days, a different rule applies. i.e. it is no longer the case that one backup will be kept every 8 hours; instead, one backup will be kept for every 3 day period. The rule applies in the same way: the first (i.e. youngest) backup that is older than 5 days will be kept; and then no more kept until 5 + 3 days later (8 days), etc.
Finally, out of any backups older than 15 days, one backup will be kept per week.
You may add as many additional retention rules as you like. These rules are run every time a backup is completed. Only one rule can apply at a time.
When there are no extra retention rules, any automatic backup (i.e. a backup made before a plugin/theme/WordPress update – not to be confused with a scheduled backup) that is younger than the oldest scheduled backup will be kept. This changes if you have any extra retention rules. Any automatic backup that is older that the time period specified in a retention rule will be deleted – i.e., only automatic backups that are younger than the first rule will be kept.
Posted in: Advanced usage, Configuration