Backups

From Wiki | LUG@UCLA
Revision as of 14:51, 27 August 2013 by 37.59.7.177 (Talk)

Jump to: navigation, search

Computers fail, people make mistakes, environmental disasters happen. We recommend you back up your important data, as the initial setup is a small price to pay compared to data loss.

Overview of techniques

Full copy backup—copy all files from the backup source to the backup destination. Subsequent full backups may cause files that already exist on the destination to be copied anyway. In many cases this method uses far more time and bandwidth resources than what is necessary.

Incremental backup—copy only the files that changed since the previous backup. This method uses much less time, bandwidth, and energy resources than the full copy method. It is almost always the preferred method.

Remote (off-site) backup—don't put all your eggs in one basket! A remote backup will protect against environmental disasters, burglary, or any other scenario where local backups would fail.

Encrypted backup—your files belong to you, and nobody else. Encryption incurs very little overhead in the backup process, so you have very little reason not to encrypt your backups. (for more information about encrypting email and other communications, see our page on Pretty Good Privacy)

Suggested workflow

Rsync (or luckyBackup)

TODO

duplicity (or Déjà Dup)

Duplicity, or the more user-friendly Déjà Dup, combines tar, Gzip, Rsync, and GnuPG to create compressed, encrypted, versioned backups either locally or over the network. It is quick and efficient because it uses the incremental backup technique. It is quickly becoming the standard backup solution (as of June 2013) on user-friendly operating systems because it has a simple interface with a lot of features.

$ sudo apt-get install duplicity
$ TODO...
$ sudo apt-get install deja-dup
$ TODO...

rdiff-backup

TODO

tar + Gzip (+ GnuPG)

Possibly the oldest, simplest, and most tested backup method is the ol' tarball method. This is considered a full copy backup. Just archive your backup source into a .tar.gz (aka tarball) and encrypt it, if necessary. Here it is in one UNIX command:

$ tar -czvf - path/to/backup/source/ | gpg --symmetric >backup.tar.gz.gpg

or, if you're backing up to your LUG@UCLA account:

$ tar -czvf - path/to/backup/source/ | gpg --symmetric | ssh user@linux.ucla.edu "cat >backup.tar.gz.gpg"

Note Note: don't forget to install GnuPG: sudo apt-get install gnupg

This method is very inefficient, so it is not recommended for large backups. This is an example of a full copy backup technique.

Relevant software

  • Gzip - compression utility
  • tar - file archiver
  • GnuPG - encryption utility
  • Rsync - remote directory synchronizer
  • luckyBackup - GUI for Rsync (uses Rsync)
  • rdiff - like diff, but better designed for binary files rather than source code
  • rdiff-backup - remote incremental directory synchronizer (uses Rsync and rdiff)
  • duplicity - remote versioned encrypted backup (uses tar, GnuPG, Rsync, and rdiff)
  • Déjà Dup - GUI for duplicity (uses duplicity)
  • rsnapshot - remote versioned backup (uses Rsync and UNIX hard links)

Links