I feel that cloud backups are expensive, look at Dropbox, Google Drive, OneDrive, etc. BlackBlaze B2, seems to be a good for long term backups where you upload and forget, download only when we are required.
It’s important to have your personal files encrypted when stored on the cloud, you never know about another iCloud hack.

Install GocryptFS and rClone

sudo apt install -y gocryptfs
curl https://rclone.org/install.sh | sudo bash

Set up object storage

Register at https://www.backblaze.com/b2/cloud-storage.html. Make sure to read the pricing details and your usage statistic.

Use rclone config to configure B2 object storage. Follow this guide: https://rclone.org/b2/.

rclone config

Go to Blackblaze B2 website and click on App keys and generate a new set of keys for rclone.

Add a new Application Key and copy the key ID and set it up in rclone.

The name of the remote is b2-backup. I can use this name to connect with the Blackblaze server and perform operations like sync, dir list, etc.

Create a new bucket using the following command:

rclone mkdir b2-backup:photo-bucket

Make sure to use - instead of _ for the bucket name.

Create a folder to store encrypted files

mkdir backup-crypt
gocryptfs -init -plaintextnames backup-crypt

# -plaintextnames : Do not encrypt the names of the files and folder
#                   this helps when we are trying to recover lost files
#                   Skip this option if you wish to hide the names of files

Make sure to store the keys properly

Mount the encrypted files

mkdir private
gocryptfs backup-crypt private

Copy and paste files in the private directory and the encrypted counter part will be reflected in the backup-crypt directory.

Sync encrypted files

rclone sync --progress backup-crypt/ b2-backup:photo-bucket

Unmount the private directory and stay safe 🔒

fusermount -u private

Just make sure that you keep eye on the free limits. You can try to do a small sync everyday to save money on the transfer cost.

References

  1. Gocryptfs security audit