Skip Navigation

What are the advantages/disadvantages of the different backup solutions?

Lots of people have mentioned rsynx, restic, borgbackup, and others, but which would be best for backing up nextcloud, immich, and radicale? Do all of them have a method of automatically backing up every X days/weeks? Why use one over the other, what are the differences?

29 comments
  • Here are some features off the top of my head that some backups software might have that other don't, or that you'll want to consider when choosing or making a system:

    • Application aware backups: E.G. DB Backups without shutting down the database. Could also be hypervisor/container awareness.
    • Restore: The ability to automatically restore files, systems, possibly to a new location.
    • Application aware restore/browsing: Being able to pull individual files from a backup, or accounts from a directory system
    • Backup copy: Automatically copying the backup to multiple destinations, disk or S3.
    • Retention: Automatically keeping a set number of backups, often including a number of weekly or monthly historical long term copies.
    • Backup Diffs: Keeping backups in a way that you only store the data changed rather than a full copy.
    • Compression: Compressing the stored data
    • Immutability: Keeping backups in a way that allows a (usually cloud) storage provider to lock files for X amount of days to prevent malicious deletions
    • Encryption: Encrypting your backups if they're kept on someone else's infrastructure or a non-secured area
    • Verification: Checking that the backups are intact and not corrupt.
    • Control panel: A single place to view the progress and completeness of all backups
    • Alerts: Notifications for failed backups, or hooks for successful backups for healthchecks.
    • Virus scans: Making sure a backups is malware-free before restore.
    • Retries: Ability to retry backups or copies in case of temporary outages before sending alerts

    I'm not sure which of these exist in free software, my experience is mostly on enterprise software. A backups system can be as simple as a rsync/zip cron job or a full integrated system depending on what you need.

    • And snapshot can benefit backup. Since some software need to be shudown to do backup, minimize the down time is important. The snapshot can make down time is almost stop and restart time, and the software can be online again and we can do backup on snapshot in background.

  • I use restic in combination with rsync.

    Two days ago, I tried to setup unbound and fucked up my Nextcloud instance on the same host.

    Restic restored /opt, /etc, /home and /var and then I used rsync to divvy them all out. For some reason, restic didn't recognize the --delete flag so, rsync it was.

    Reboot, waited 3 minutes, reload, there's my Nextcloud login screen. Database cleaned up using occ commands and I'm back.

    My restic repo sits on my main NAS, and a copy of it on another system. It holds all of my host's aforementioned directories for easy setup and restore from either bad luck or dumb ideas.

    ...usually dumb ideas.

  • I do monthly backups with cron and tar and syncthing for my containers.

    I do quarterly backups of my server (14TB) to external USB HDDs. This is done via a script that mounts the drives, runs rsync to copy, then unmounts the drives again and emails me when it is done. I dont bother encrypting them as it ia mainly just media.

29 comments