Learning how to manually back up my Borg backup to a hard drive. For an initial backup, I could do this:

cd /run/media/exodrifter/Backup/
borg extract --list <repo_url>::<archive_name>

Note that changing the working directory is important, because Borg will extract the archive to the current working directory. However, this command always extracts all of the data. That is, if I wanted to update my hard drive backup it’s not capable of doing the minimum amount of work to update the backup.

To get around this limitation, I can mount the borg archive and then use rsync. However, to mount the drive I need to install support for FUSE on my operating system and the FUSE plugin for Borg. On Arch Linux, this is done with:

pacman -S python-llfuse

Then the archive can be mounted and browsed with:

mkdir /mnt/borg
borg mount <repo_url>::<archive_name> /mnt/borg

Now that the files are mounted, I can rsync the necessary files:

rsync --progress --archive --delete /mnt/borg/sky-2024-12-04T08:32:06.701926/mnt/data/sync/ /run/media/exodrifter/Backup/mnt/data/sync