User:Nomaster/Backup: Difference between revisions

From Chaosdorf Wiki
(qe63f02h)
m (Reverted edits by 46.161.9.56 (talk) to last revision by Nomaster)
 
Line 1: Line 1:
<a href=https://essaywritingservices.us.com/>writing essay services</a>
This article is a couple of years old and I have already moved all of my precious data into the cloud. Because the flying spaghetti monster will save us all. Not.
 
...but I am still convinced this may be helpful to you.
 
<blockquote>
Jesus saves. Buddha does incremental backups.
</blockquote>
 
In celebration of [http://ask.slashdot.org/story/12/03/31/1543200/ask-slashdot-its-world-backup-day-how-do-you-back-up World Backup Day], I hereby release my backup strategy.
 
== Features ==
 
* daily backup, fully accessible
* compressed storage
* block device encryption
* '''speed'''
 
== Requirements ==
 
* external harddrive
* modern linux kernel (use [[Wikipedia:Arch_Linux|Arch Linux]]!)
* current version of btrfs-progs (I have 0.19.20120110-2)
* a strong password (you may follow [http://www.thegeekstuff.com/2008/06/the-ultimate-guide-for-creating-strong-passwords/ this] guide or similar)
 
== Daily Routine ==
 
# Wake up
# Drink tea
# Go shit
# Exercise Yoga
# Eat breakfast
# '''Backup ALL the files''' (during hygiene)
# Leave home
 
My external harddrive is totally occupied by a [[Wikipedia:Linux_Unified_Key_Setup|LUKS]] container. After connecting the drive to my laptop, I start like this:
 
  cryptsetup luksOpen /dev/sdb backup
 
If not happened yet, format the drive with a [[Wikipedia:Btrfs|btrfs]] filesystem
 
  mkfs.btrfs -L backup /dev/mapper/backup
 
Then, mount it and use compression
 
  mount -o compress=lzo -t btrfs LABEL=backup /media/backup
 
If not happened yet, create a subvolume
 
  btrfs subvolume create /media/backup/nomaster
 
For may backups, I use rsync (with delete) to copy my files to an external hard drive. Vanished files will be deleted.
 
  rsync -aPv --delete --exclude downloads --exclude music --exclude .cache /home/nomaster/ /media/backup/nomaster/
 
After each sync, I make a snapshot of this state of my files.
 
  sudo btrfs subvolume snapshot -r /media/backup/nomaster /media/backup/nomaster-$(date +%F)
 
Lastly, I unmount the filesystem and close the container.
 
  sudo umount /media
  sudo cryptsetup luksClose backup
 
Then, I disconnect the drive.
 
When my drive will be full at some point in the future, I’m going to remove old snapshots to free space occupied by large files deleted a long time ago.
 
== Initial Setup ==
 
'''I assume the external drive is /dev/sdb. If you have no idea about this, stop right now and come back when you know.'''
 
First, make sure, the external drive is clear to use. So mount it and have a look at the files if present.
 
Overwrite everything with zeroes.
 
  sudo dd if=/dev/zero of=/dev/sdb bs=1024
 
Format the drive
 
  sudo cryptsetup luksFormat /dev/sdb
 
(follow the instructions)
 
Open the crypto container
 
  sudo cryptsetup luksOpen /dev/sdb backup
 
Create a BTRFS file system
 
  sudo mkfs.btrfs /dev/mapper/backup
 
Mount it (with compression)
 
  sudo mount -o compress /dev/mapper/backup /mnt
 
Create a subvolume
 
  sudo btrfs subvolume create /mnt/nomaster # <- insert username here
 
Unmount, close and continue with '''daily routine'''.
 
  sudo umount /mnt
  sudo cryptsetup luksClose backup

Latest revision as of 05:58, 12 August 2017

This article is a couple of years old and I have already moved all of my precious data into the cloud. Because the flying spaghetti monster will save us all. Not.

...but I am still convinced this may be helpful to you.

Jesus saves. Buddha does incremental backups.

In celebration of World Backup Day, I hereby release my backup strategy.

Features[edit | edit source]

  • daily backup, fully accessible
  • compressed storage
  • block device encryption
  • speed

Requirements[edit | edit source]

  • external harddrive
  • modern linux kernel (use Arch Linux!)
  • current version of btrfs-progs (I have 0.19.20120110-2)
  • a strong password (you may follow this guide or similar)

Daily Routine[edit | edit source]

  1. Wake up
  2. Drink tea
  3. Go shit
  4. Exercise Yoga
  5. Eat breakfast
  6. Backup ALL the files (during hygiene)
  7. Leave home

My external harddrive is totally occupied by a LUKS container. After connecting the drive to my laptop, I start like this:

 cryptsetup luksOpen /dev/sdb backup

If not happened yet, format the drive with a btrfs filesystem

 mkfs.btrfs -L backup /dev/mapper/backup

Then, mount it and use compression

 mount -o compress=lzo -t btrfs LABEL=backup /media/backup

If not happened yet, create a subvolume

 btrfs subvolume create /media/backup/nomaster

For may backups, I use rsync (with delete) to copy my files to an external hard drive. Vanished files will be deleted.

 rsync -aPv --delete --exclude downloads --exclude music --exclude .cache /home/nomaster/ /media/backup/nomaster/

After each sync, I make a snapshot of this state of my files.

 sudo btrfs subvolume snapshot -r /media/backup/nomaster /media/backup/nomaster-$(date +%F)

Lastly, I unmount the filesystem and close the container.

 sudo umount /media
 sudo cryptsetup luksClose backup

Then, I disconnect the drive.

When my drive will be full at some point in the future, I’m going to remove old snapshots to free space occupied by large files deleted a long time ago.

Initial Setup[edit | edit source]

I assume the external drive is /dev/sdb. If you have no idea about this, stop right now and come back when you know.

First, make sure, the external drive is clear to use. So mount it and have a look at the files if present.

Overwrite everything with zeroes.

 sudo dd if=/dev/zero of=/dev/sdb bs=1024

Format the drive

 sudo cryptsetup luksFormat /dev/sdb

(follow the instructions)

Open the crypto container

 sudo cryptsetup luksOpen /dev/sdb backup

Create a BTRFS file system

 sudo mkfs.btrfs /dev/mapper/backup

Mount it (with compression)

 sudo mount -o compress /dev/mapper/backup /mnt

Create a subvolume

 sudo btrfs subvolume create /mnt/nomaster # <- insert username here

Unmount, close and continue with daily routine.

 sudo umount /mnt
 sudo cryptsetup luksClose backup