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)
Rsync (or luckyBackup)
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...
tar + Gzip (+ GnuPG)
Possibly the oldest, simplest, and most tested backup method is the ol' tarball method. This is an example of a full copy backup technique. 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 backup.tar.gz
or, to use encryption:
$ tar -czvf - | gpg --symmetric >backup.tar.gz.gpg
or, to use your LUG@UCLA account as the remote destination:
$ tar -czvf - | gpg --symmetric | ssh @linux.ucla.edu "cat >backup.tar.gz.gpg"
Note: if you're going to backup to the LUG server, please don't send more than 10 GB!
This method is not recommended for large and frequent backups.
- 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)