New post, BorgBackup encrypted and deduplicated !
This commit is contained in:
parent
aba19e6f1c
commit
e0fdc1fff1
1 changed files with 131 additions and 0 deletions
131
posts/backup/borgbackup.rst
Normal file
131
posts/backup/borgbackup.rst
Normal file
|
@ -0,0 +1,131 @@
|
|||
.. title: BorgBackup
|
||||
.. date: 2020-01-30
|
||||
.. slug: borgbackup
|
||||
.. updated: 2020-01-30
|
||||
.. status: published
|
||||
.. tags: backup, borgbackup
|
||||
.. category: backup
|
||||
.. authors: Elia El Lazkani
|
||||
.. description: It has been called the Holy Grail of backup! BorgBackup is coming to town.
|
||||
.. type: text
|
||||
|
||||
I usually lurk around **Freenode** in a few projects that I use, can learn from and/or help with.
|
||||
This is a great opportunity to learn new things *all the time*.
|
||||
|
||||
This story is familiar in that manner, but that's where similarities diverge.
|
||||
Someone asked around ``#Weechat`` a question that caught my attention because it was, sort of, out of topic. The question was around how do you backup your stuff ?
|
||||
|
||||
.. TEASER_END
|
||||
|
||||
I mean if I were asked that, I would've mentioned revision controlled off-site repositories for the code that I have.
|
||||
For the personal stuff on the other hand, I would've admitted simple rudimentary solutions like ``rsync``, ``tar`` and external drives.
|
||||
So I was sort of happy with my backup solution, it has worked. Plain and simple.
|
||||
|
||||
I have to admit that, by modern standards it might not offer the ability to go back in time to a certain point.
|
||||
But I use *file systems* that offer *snapshot* capabilities. I can recover from previous snapshots and send them somewhere safe.
|
||||
Archiving and encrypting those is not a simple process, wish it was. That limits storage possibilities if you care to keep your data private.
|
||||
|
||||
But if you know me, you'd know that I'm always open to new ways of doing things.
|
||||
|
||||
I can't remember exactly the conversation but the name **BorgBackup** was mentioned (thank you however you are). That's when things changed.
|
||||
|
||||
|
||||
BorgBackup
|
||||
==========
|
||||
|
||||
`Borg <https://www.borgbackup.org/>`_ is defined as a
|
||||
|
||||
Deduplicating archiver with compression and encryption
|
||||
|
||||
Although this is a very accurate and encompassing definition, it doesn't really show you how *AWESOME* this thing is.
|
||||
|
||||
I had to go to the docs first before I stumbled upon this video.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<div class="custom-center" style="
|
||||
width: 50%;
|
||||
margin: 0 auto;
|
||||
">
|
||||
<script id="asciicast-133292" src="https://asciinema.org/a/133292.js" async></script>
|
||||
</div>
|
||||
|
||||
It can be a bit difficult to follow the video, I understand.
|
||||
|
||||
This is why I decided to write this post, to sort of explain to you how **Borg** can backup your stuff.
|
||||
|
||||
Encryption
|
||||
==========
|
||||
|
||||
Oh yeah, that's the **first** thing I look at when I consider any suggested backup solution.
|
||||
**Borg** offers built-in *encryption* and *authentication*.
|
||||
You can read about it in details in the `docs <https://borgbackup.readthedocs.io/en/stable/usage/init.html#encryption-modes>`_.
|
||||
|
||||
So that's a check.
|
||||
|
||||
Compression
|
||||
===========
|
||||
|
||||
This is another thing I look for in a suggested backup solution. And I'm happy to report that **Borg** has this under the belt as well.
|
||||
**Borg** currently supports *LZ4*, *zlib*, *LZMA* and *zstd*. You can also tune the level of compression. Pretty neat !
|
||||
|
||||
Full Backup
|
||||
===========
|
||||
|
||||
I've watched a few videos and read a bit of their documentation and they talk about **FULL BACKUP**.
|
||||
Which means every time you run **Borg**, it will take a full backup of your stuff. A full backup at that point in time, don't forget.
|
||||
The implication of this is that you have a versioned list of your backups, and you can go back in time to any of them.
|
||||
|
||||
Yes, you read that right. **Borg** does a full backup every time you run it. That's a pretty neat feature.
|
||||
|
||||
If you're a bit ahead of me, you were gonna say woooow there bud ! I have **Gigabytes** of data, what do you mean **FULL BACKUP**, you keep saying **FULL BACKUP**.
|
||||
|
||||
I mean **FULL BACKUP**, wait until you hear about the next feature.
|
||||
|
||||
Deduplication
|
||||
=============
|
||||
|
||||
Booyah ! It has deduplication. Ain't that awesome. I've watched a presentation by the project's original maintainer explain this.
|
||||
I have one thing to say. It's pretty good. How good, you may ask ?
|
||||
|
||||
My answer would be, good enough to fool me into thinking that it was taking snapshots of my data.
|
||||
|
||||
.. code:: text
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Original size Compressed size Deduplicated size
|
||||
All archives: 34.59 GB 9.63 GB 1.28 GB
|
||||
Unique chunks Total chunks
|
||||
Chunk index: 47772 469277
|
||||
|
||||
|
||||
It wasn't until I dug in deeper into the matter that I understood that it was a full backup and the deduping taking care of the rest.
|
||||
|
||||
Check
|
||||
=====
|
||||
|
||||
**Borg** offers a way to vefiry the consistency of the repository and the archives within.
|
||||
This way, you can make sure that your backups haven't been corrupted.
|
||||
|
||||
This is a very good feature, and a must in my opinion from a backup solution. **Borg** has *YOU* covered.
|
||||
|
||||
Restore
|
||||
=======
|
||||
|
||||
A backup solution is nothing if you can't get your data backup.
|
||||
**Borg** has a few ways for you to get your data. You can either create an *archive* file out of a backup.
|
||||
You can export a file, a directory or the whole directory tree from a backup.
|
||||
You can also, if you like, mount a backup and get stuff out.
|
||||
|
||||
.. warning::
|
||||
|
||||
Mounting a **Borg** backup is done using *fuse*
|
||||
|
||||
Conclusion
|
||||
==========
|
||||
|
||||
**Borg** is a great tool for backup. It comes in an easily installable self-contained binary so you can use it, pretty much,
|
||||
anywhere giving you no excuse *whatsoever* not to use it. Their documentation is very good, and **Borg** is easy to use.
|
||||
It offers you all the features you need to do off-site and on-site backups of all your important data.
|
||||
|
||||
I'll be testing **Borg** moving forward for my data. I'll make sure to report back anything I find, in the future, related to the subject.
|
Reference in a new issue