aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-06-28-backblaze-b2.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
commitfdd80eadcc2f147d0198d94b7b908764778184a2 (patch)
treefbec9522ea9aa13e8105efc413d2498c3c5b4cd6 /content/blog/2023-06-28-backblaze-b2.md
parentd6c80fdc1dea9ff242a4d3c7d3939d2727a8da56 (diff)
downloadcleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.gz
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.bz2
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.zip
format line wrapping and fix escaped characters
Diffstat (limited to 'content/blog/2023-06-28-backblaze-b2.md')
-rw-r--r--content/blog/2023-06-28-backblaze-b2.md140
1 files changed, 66 insertions, 74 deletions
diff --git a/content/blog/2023-06-28-backblaze-b2.md b/content/blog/2023-06-28-backblaze-b2.md
index 3f2ed48..fd93abd 100644
--- a/content/blog/2023-06-28-backblaze-b2.md
+++ b/content/blog/2023-06-28-backblaze-b2.md
@@ -7,82 +7,77 @@ draft = false
# Overview
-Backblaze [B2 Cloud
-Storage](https://www.backblaze.com/b2/cloud-storage.html) is an
-inexpensive and reliable on-demand cloud storage and backup solution.
+Backblaze [B2 Cloud Storage](https://www.backblaze.com/b2/cloud-storage.html) is
+an inexpensive and reliable on-demand cloud storage and backup solution.
-The service starts at \$5/TB/month (\$0.005/GB/month) with a download
-rate of \$0.01/GB/month.
+The service starts at $5/TB/month ($0.005/GB/month) with a download rate of
+$0.01/GB/month.
However, there are free tiers:
-- The first 10 GB of storage is free.
-- The first 1 GB of data downloaded each day is free.
-- Class A transactions are free.
-- The first 2500 Class B transactions each day are free.
-- The first 2500 Class C transactions each day are free.
+- The first 10 GB of storage is free.
+- The first 1 GB of data downloaded each day is free.
+- Class A transactions are free.
+- The first 2500 Class B transactions each day are free.
+- The first 2500 Class C transactions each day are free.
-You can see which API calls fall into categories A, B, or C here:
-[Pricing Organized by API
+You can see which API calls fall into categories A, B, or C here: [Pricing
+Organized by API
Calls](https://www.backblaze.com/b2/b2-transactions-price.html).
-For someone like me, who wants an offsite backup of their server\'s
-`/home/` directory and various other server configs that fall
-under 10 GB total, Backblaze is a great solution from a financial
-perspective.
+For someone like me, who wants an offsite backup of their server's `/home/`
+directory and various other server configs that fall under 10 GB total,
+Backblaze is a great solution from a financial perspective.
# Create An Account
-To start with Backblaze, you\'ll need to [create a free
-account](https://www.backblaze.com/b2/sign-up.html) - no payment method
-is required to sign up.
+To start with Backblaze, you'll need to [create a free
+account](https://www.backblaze.com/b2/sign-up.html) - no payment method is
+required to sign up.
-Once you have an account, you can test out the service with their web
-GUI, their mobile app, or their CLI tool. I\'m going to use the CLI tool
-below to test a file upload and then sync an entire directory to my
-Backblaze bucket.
+Once you have an account, you can test out the service with their web GUI, their
+mobile app, or their CLI tool. I'm going to use the CLI tool below to test a
+file upload and then sync an entire directory to my Backblaze bucket.
# Create a Bucket
-Before you can start uploading, you need to create a bucket. If you\'re
-familiar with other object storage services, this will feel familiar. If
-not, it\'s pretty simple to create one.
+Before you can start uploading, you need to create a bucket. If you're familiar
+with other object storage services, this will feel familiar. If not, it's
+pretty simple to create one.
As their webpage says:
-> A bucket is a container that holds files that are uploaded into B2
-> Cloud Storage. The bucket name must be globally unique and must have a
-> minimum of 6 characters. A limit of 100 buckets may be created per
-> account. An unlimited number of files may be uploaded into a bucket.
+> A bucket is a container that holds files that are uploaded into B2 Cloud
+> Storage. The bucket name must be globally unique and must have a minimum of 6
+> characters. A limit of 100 buckets may be created per account. An unlimited
+> number of files may be uploaded into a bucket.
-Once you click the `Create a Bucket` button on their webpage
-or mobile app, you need to provide the following:
+Once you click the `Create a Bucket` button on their webpage or mobile app, you
+need to provide the following:
-- Bucket Unique Name
-- Files in Bucket are: `Private` or `Public`
-- Default Encryption: `Disable` or `Enable`
-- Object Lock: `Disable` or `Enable`
+- Bucket Unique Name
+- Files in Bucket are: `Private` or `Public`
+- Default Encryption: `Disable` or `Enable`
+- Object Lock: `Disable` or `Enable`
-For my bucket, I created a private bucket with encryption enabled and
-object lock disabled.
+For my bucket, I created a private bucket with encryption enabled and object
+lock disabled.
-Once your bucket is created, you can test the upload/download feature on
-their web GUI or mobile app! At this point, you have a fully functional
-bucket and account.
+Once your bucket is created, you can test the upload/download feature on their
+web GUI or mobile app! At this point, you have a fully functional bucket and
+account.
# Linux CLI Tool
## Installation
-To install the `b2` CLI tool, you\'ll need to download it
-from the [CLI
-Tools](https://www.backblaze.com/docs/cloud-storage-command-line-tools)
-page. I recommend copying the URL from the link that says
-`Linux` and using wget to download it, as shown below.
+To install the `b2` CLI tool, you'll need to download it from the [CLI
+Tools](https://www.backblaze.com/docs/cloud-storage-command-line-tools) page. I
+recommend copying the URL from the link that says `Linux` and using wget to
+download it, as shown below.
-Once downloaded, make the file executable and move it to a location on
-your `$PATH`, so that you can execute that command from
-anywhere on the machine.
+Once downloaded, make the file executable and move it to a location on your
+`$PATH`, so that you can execute that command from anywhere on the machine.
```sh
wget <b2_cli_url>
@@ -93,12 +88,10 @@ mv b2_linux /usr/bin/b2
## Log In
The first step after installation is to log in. To do this, execute the
-following command and provide your `<applicationKeyId>` and
-`<applicationKey>`.
+following command and provide your `<applicationKeyId>` and `<applicationKey>`.
-If you don\'t want to provide these values in the command itself, you
-can simply execute the base command and it will request them in an
-interactive prompt.
+If you don't want to provide these values in the command itself, you can simply
+execute the base command and it will request them in an interactive prompt.
```sh
# if you want to provide the keys directly:
@@ -110,9 +103,9 @@ b2 authorize-account
## Upload a Test File
-In order to test the functionality of the CLI tool, I\'ll start by
-uploading a single test file to the bucket I created above. We can do
-this with the `upload_file` function.
+In order to test the functionality of the CLI tool, I'll start by uploading a
+single test file to the bucket I created above. We can do this with the
+`upload_file` function.
The command is issued as follows:
@@ -126,8 +119,8 @@ In my situation, I executed the following command with my username.
b2 upload_file my_unique_bucket /home/<user>/test.md test.md
```
-To confirm that the file was uploaded successfully, list the files in
-your bucket:
+To confirm that the file was uploaded successfully, list the files in your
+bucket:
```sh
b2 ls <bucket_name>
@@ -139,9 +132,9 @@ test.md
## Sync a Directory
-If you have numerous files, you can use the `sync` function
-to perform functionality similar to `rsync`, where you can
-check what\'s in your bucket and sync anything that is new or modified.
+If you have numerous files, you can use the `sync` function to perform
+functionality similar to `rsync`, where you can check what's in your bucket and
+sync anything that is new or modified.
The command is issued as follows:
@@ -149,8 +142,8 @@ The command is issued as follows:
b2 sync <source file location> <B2 bucket destination>
```
-In my case, I can sync my user\'s entire home directory to my bucket
-without specifying any of the files directly:
+In my case, I can sync my user's entire home directory to my bucket without
+specifying any of the files directly:
```sh
b2 sync /home/<user>/ "b2://<bucketName>/home/<user>"
@@ -160,22 +153,21 @@ b2 sync /home/<user>/ "b2://<bucketName>/home/<user>"
## Timing of Updates to the Web GUI
-When performing actions over a bucket, there is a slight delay in the
-web GUI when inspecting a bucket or its file. Note that simple actions
-such as uploading or deleting files may have a delay of a few minutes up
-to 24 hours. In my experience (\<10 GB and \~20,000 files), any actions
-took only a few minutes to update across clients.
+When performing actions over a bucket, there is a slight delay in the web GUI
+when inspecting a bucket or its file. Note that simple actions such as uploading
+or deleting files may have a delay of a few minutes up to 24 hours. In my
+experience (\<10 GB and ~20,000 files), any actions took only a few minutes to
+update across clients.
## Symlinks
Note that symlinks are resolved by b2, so if you have a link from
-`/home/<user>/nas-storage` that symlinks out to a
-`/mnt/nas-storage` folder that has 10TB of data,
-`b2` will resolve that link and start uploading all 10TB of
+`/home/<user>/nas-storage` that symlinks out to a `/mnt/nas-storage` folder that
+has 10TB of data, `b2` will resolve that link and start uploading all 10TB of
data linked within the folder.
-If you\'re not sure if you have any symlinks, a symlink will look like
-this (note the `->` symbol):
+If you're not sure if you have any symlinks, a symlink will look like this
+(note the `->` symbol):
```sh
> ls -lha