Backups

From Wiki | LUG@UCLA
Revision as of 02:16, 28 June 2013 by 72.130.191.35 (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

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.

Rsync (or luckyBackup)

tar + Gzip (+ GnuPG)

Possibly the oldest, simplest, and most tested backup method is the ol' tarball method. 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"

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

rdiff-backup

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)