?! HowTheFu.cc ?!
<< Linux: Simulating Network Latency On localhost
 

2025.10.25
Linux: Simple-ish Offsite/Remote Backup

Outline:

Setting Up The Server

I am using a Hetzner Storage Box. It's rather cheap and comes with borg out of the box. (I'm assuming that any other server with borg will work as well though).

After completing the order (and waiting a few minutes for the server to setup) you can see your server address: On console.hetzner.com, click "Storage Boxes" on the left (I recommend pinning this) and click on your server. You should then see

If you want to you can login into your storage box via ssh.


# Direct login:
#     -Port-  --User- ------Address-------------
> ssh -p 23   u123456@u123456.your-storagebox.de


# For convenience: Add the server to your ~/.ssh/config
Host StorageBox
	HostName u123456.your-storagebox.de
	User u123456
	Port 23
	RequestTTY force

# Then you can login into the server via
> ssh StorageBox

(More ssh configuration info)

Once you are logged into the server, you can type help to get an overview of the available commands. As I said, the usability of it is quite limited.

Client: Initial Setup of the Backup

Install Pika Backup. Then:

Then enter a URL in the following format:


# Format:
ssh://[user]@[address]:[port]/~/[some directory name]

# For example:
ssh://u123456@u123456.your-storagebox.de:23/~/pika_backup

Set an encryption password. You will need to enter this password whenever you are trying to access the backup.

Now you only need to select which files to backup / which files to ignore. Select the profile you have set up. Then:

Creating / Updating a Backup

Once everything is setup, you just have to press the big blue "Back Up Now" button (see abov, and it will ask you for the encryption password).

Once your backup is done, your backup should be listed under "Archives":

You might be interested in scheduling automatic backups. I haven't configured this (yet), but you can press on "Schedule" at the top for some additional configuration.

Accessing Archives

You can browse through the files (and copy files over) by selecting the archive and clicking on "Browse saved files". In the background, the archive will be mounted in a temporary directory, and you default file explorer will open. Once you are done, press the unmount-symbol next to "Archives" above the archives-list to unmount the files.

In case you don't have a default file explorer, pika will throw an error about how it couldn't find the default application:

In that case, unmount the files (as described above) and close pika. We will retrieve the mount location by looking at the borg-commands used by pika.


# Run pika from the terminal with debug messages:
> G_MESSAGES_PREFIXED="" G_MESSAGES_DEBUG=all pika-backup

# Try to access the archive via the UI as described above.
# (enter your encryption password if prompted).

# Pika prints the borg mount command in the terminal.
# Once the error message is thrown, you can scroll up in the terminal
# and look for something like this:
pika-backup-INFO: 14:25:11.158: src/borg/process.rs:465:0: Running managed borg command: [
    "mount",
    "--rsh",
    "ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new",
    "--log-json",
    "--remote-path=borg-1.4",
    "--consider-checkpoints",
    "-o",
    "umask=0000,uid=1000",
    "--",
    "ssh://[redacted]",
    "[some mount path]",
]

You can browse the files manually by navigating to [some mount path]. Once you are done, make sure that you aren't accessing the files / directories anymore, and then you can unmount the directorie as described above.

Using this method, you can extract the console commands used by pika for mounting/unmounting the borg archives if you want to.


<< Linux: Simulating Network Latency On localhost
 
?! HowTheFu.cc ?!