Incremental backups in AIO

I’m evaluating moving from an unofficial docker container to AIO. Is there an easy way to do a traditional backup as described here: Backup — Nextcloud latest Administration Manual latest documentation ? The built in solution seems to only offer full dumps of the entire server.

On my old installation I can just enable maintenence mode, dump the database and trigger backup through an external tool that produces incremental backups In my case it’s a btrfs snapshot through btrbk utility.

I have a personal setup using the official Docker container and an AIO setup for the company, and back up both using the Veeam agent for Linux. Not open source, but it’s free and works very well.

I think I have 30 days of daily incrementals. It’ll back up to local or iSCSI disks, NFS or SMB shares, and also supports file level recovery.

AIO is using Nextcloud Backup which is in turn based on BorgBackup. This software performs “de-duplication” which makes every backup to become kind of incremental backup as only changes between different states are effectively stored in archive… the drawback is you always need the complete backup archive and the software to recover…

Thank you for your replies. My concern is that I already have a working backup solution and the included BorgBackup mechanism would just add another copy of my data on top of my filesystem snapshots.

Right now I’m thinking about using the manual install method. I’ll check what I need to copy from AIO’s backup script and see if I can manually create and restore a backup in the way I want.

EDIT:
Consider me dumb, because the manual install already tells you how to easily backup it, I just had to scroll down a tiny bit more: all-in-one/readme.md at main · nextcloud/all-in-one · GitHub

This should work for my case, I’ll just need to verify it.

Actually no. Nextcloud Backup is a backup app for Nextcloud that is optionally available and not based on borg and not the one that we are using for AIO.

But yes, AIOs built-in backup solution is based on borg. You can read further about it here: GitHub - borgbackup/borg: Deduplicating archiver with compression and authenticated encryption.

1 Like

Filesystem based backup and restore is much more powerfull and stable. Use that instead. I uses ZFS and running everything in LXC’s, hence I use LXD snapshot scheduling and 7 days retention config, and I have never once experienced any issue restoring to a snapshot. I highly recommends using a filesystem where snapshotting and incremental backup and resore is native - BTRFS or ZFS.
You could actually benefit from running your nextcloud docker from inside an LXC, if you setups using ZFS. Then you get full power of docker, full power of ZFS and LXD snapshotting, in one nice package?

Honestly I don’t consider FS snapshots as a valid backup solution at least until they are not mirrored to a second independent drive but this is something for a different topic.

Once a week I do a complete dump. compress it and encrypts it, and stores it on a free cloud drive (google). So I am not relying solely on ZFS. However unless investing in a dedicated enterprise ready backup solution like Veeam or uses something RSYNC to completely mirror your data somewhere (and needs a complete redundant system), I considers FS based snapshotting as good as it can be.

I currently rely on filesystem snapshots which are mirrored to another drive. I’m in progress of adding a separate backup storage machine at another location and will supplement it with commercial cloud in the near future. All encrypted.