Thanks for the update — based on your goals, there are two possible approaches you can consider, depending on your system setup and preference:
1. Using the integrated BorgBackup in Nextcloud AIO
If you’re running Nextcloud AIO on a supported system (e.g., Linux with Docker), you can use the built-in BorgBackup system via the AIO interface. By default, the backup is created locally on the host.
However, you don’t necessarily need to keep that backup on the same disk.
You can configure the system to store the backup on:
- a second internal disk,
- an external USB disk, or
- a network-mounted location (like NFS, SSHFS, or CIFS).
This way, you avoid filling up your main system disk, and the backup repository can be placed on a protected and possibly append-only destination.
So even though BorgBackup creates the backup locally, it can directly write it to your desired storage if it’s mounted correctly on the host. This keeps the backup workflow clean and fully supported by AIO.
2. Manual backup via SSH + rsync (my personal experience)
When I migrated my full Nextcloud AIO instance to a new disk, I chose not to use BorgBackup. Instead, I performed the backup manually via rsync over SSH.
This method works just as well for routine backups. It gives you complete control over what gets backed up and where, without relying on BorgBackup or the AIO interface.
I shared more details about this approach here:
Backup files on Nextcloud managed object storage to local storage
Important note:
If you choose this method, it’s very important to use a compatible file system (likeext4,xfs, or another POSIX-compliant one) on the backup destination.
This ensures that file and folder ownership (e.g.,www-data) is preserved correctly, which is essential for a proper Nextcloud restore later on.
You can still combine this approach with your own protection strategy on the backup server — e.g., snapshots or append-only file attributes.