Pretty silly question re: incremental backups

Hello!

To avoid risking to screw up with something I’m not used to, I come here with a “just in case” question, thank you so much for your patience!

Until now, I have always only done full virtual domain backups, once a week, with virtualmin’s scheduled backups feature (Debian Buster, on which a webmin + virtualmin, both latest stable, are installed).

One of the websites I host growing larger over time, it struck me, why don’t I use incremental backups instead, to reduce the disk occupation caused by backups archives.

May I ask 3 questions in that regard, please?

  • the “delete old backups” option, must I turn it off, because it would risk to cause the deletion of the full-website archive against which changes are saved separately?

  • Actually, now, I’m not sure I do understand it right. Does the incremental backups system always compare the original full-site archive with the present state of things, or is the comparison made directly between updates states? Not sure I’m making it clear sorry, I mean, is the comparison always ran against “now” VS “original full-site archive”, or is it ran between “updated states, newest VS former” (if the latter option is the right one, that means I cannot delete a single updates state or else the backups cannot be restored anymore, right?)

  • With an already existing full virtual domain backup configured, is it possible to transition it into an incremental backup? I mean, in the “Backup level” section, if I uncheck “Full (all files)” and tick "Incremental (only files changed since last full backup) ", what will happen? Virtualmin will make one final full-site backup, and the following one will be of an incremental type? Or, to avoid confusion and risks, is it better to create a new backup job entirely?

I think my googling already allows me to guess it right, but on such a sensitive topic, I want to trade confidence with complete certainty.

Thanks a lot if you can spare the time to answer!

@OliverF,

Incremental backups changes “since” the last “full” backup.

A good plan for incremental is to:

  1. On Sun run a “full” backup
  2. On Mon,Tue,Wed,Thu,Fri,Sat run an incremental backup

Let’s say you want to retain 4 full backups…

  1. You’d configure backups to be deleted after 5 weeks.

This would or should delete the 1st backup, and continue doing so each day, leaving you 4 full backups and their incrementals.

To restore a backup…

  1. First restore the latest “full” backup
  2. Then in “order” restore each “incremental” backup until you reach the version of the site you are happy with.

Ex.

Let’s say after the full backup, you realize on Wed malware has hit your site.

You could then restore “Sun” (full backup), “Mon” (incremental), “Tue” (incremental) and tada, you’re back to a malware free version of the site.

This is just a quick overview, and sample of how you could use the feature.

Recommended reading…

https://www.virtualmin.com/documentation/system/backup-and-restore/

If you’re using incrementals, you need two jobs. One for the full backup (maybe every week or every month), and one for the incremental (maybe once a day or every week).

You don’t want to end up in a situation where you have to restore a full backup from two years ago, and 100 weekly incrementals to get up to date. That’d be a nightmare.

perhaps the documentation mentioned above at Backup and Restoration – Virtualmin is in error … it says in part at the very bottom

When restoring, the latest full backup must be restored first, followed by the latest incremental. This ensures that all files are returned to their state at the time the incremental backup was made.

I keep thinking that I need to enable VirtualMin backups and not rely on my nightly Tivoli file level backups, or my NetApp SAN snapshots as the only way to recover from errors, so I can see doing a full restore consisting of a maximum of just two passes is very beneficial compared to multiple incremental restores.

Hmmm… Never noticed that before. That’s the procedure for a restoring a differential, not an incremental.

Richard

Nah, you’re right. I had a moment of dumb, not remembering how things work.

But, of course, if it’s been two years since your last full backup, your incremental will be quite large. Best to schedule both a regular full backup and incremental (as the docs suggest): “Typically you should schedule a full backup for once a week, and an incremental backup for the same domains every night - but to a different directory.”

Please can we be clear here, as it makes a massive difference to how we store our backups
Do we:

  1. Restore a full backup and then each incremental? (as per these forum posts)
  2. Restore a full backup and then only latest incremental? (as per the documentation)

Up to now, we have been relying on the documentation. If it’s wrong, we need to do some urgent new backups.

This one. I said I was wrong above.

1 Like