Difference between revisions of "Synchronization and backup programs"

From ArchWiki
Jump to: navigation, search
m (Not rsync-based)
(Console)
(47 intermediate revisions by 18 users not shown)
Line 1: Line 1:
[[Category:Data compression and archiving (English)]]
+
[[Category:Data compression and archiving]]
[[Category:System recovery (English)]]
+
[[Category:System recovery]]
{{i18n|Backup_Programs}}
+
[[ru:Backup Programs]]
 +
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).
  
== Intro ==
+
== Introduction ==
 +
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:
 +
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)
 +
* How often do I plan to backup? (daily, weekly, monthly, etc.)
 +
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)
 +
* How do I plan to restore backups if needed?
  
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Codeline|/etc/*}}) and local pacman database (usually {{Codeline|/var/lib/pacman/local/*}}).
+
== Incremental backups ==
 +
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.
  
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:
+
=== Rsync-type backups ===
* What backup medium do I have available?
+
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.
** cd / dvd
+
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)
+
** external harddrive
+
* How often do I plan to backup?
+
** daily?
+
** weekly?
+
** less often?
+
* What goodies do I expect from the backup solution?
+
** compression? (what algorithms?)
+
** encryption? (gpg or something more straightforward?)
+
* Most importantly: how do I plan to restore backups if needed?
+
  
All right, enough with this, let's see some options!
+
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.
  
== Incremental backups ==
+
==== Console ====
 +
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.
 +
** rsync almost always makes a mirror of the source.
 +
** Impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).
 +
** Standard install on all distros.
 +
** Can run over SSH (port 22) or native rsync protocol (port 873).
 +
** Win32 version available.
 +
|http://rsync.samba.org/|{{Pkg|rsync}}}}
  
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.
+
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.
 +
** Stores the most recent backup as regular files.
 +
** To revert to older versions, you apply the diff files to recreate the older versions.
 +
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.
 +
** Win32 version available.
 +
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}
  
=== Rsync-type backups ===
+
* {{App|rsnapshot|A remote filesystem snapshot utility.
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.
+
** Does not store diffs, instead it copies entire files if they have changed.
 +
** Creates hard links between a series of backed-up trees (snapshots).
 +
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.
 +
** Destination filesystem must support hard links.
 +
** Win32 version available.
 +
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}
  
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..
+
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.
 +
** Integrates with Linux LVM and databases to create consistent backups.
 +
** Bandwidth throttling.
 +
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}
  
===== CLI =====
+
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync.
*[[rsync]] (in extra repo)
+
** Creates hard links between a series of backed-up trees (snapshots).
**rsync almost always makes a mirror of the source
+
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.
**Impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files)
+
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.
**Standard install on all distros
+
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.
**Can run over SSH (port 22) or native rsync protocol (port 873)
+
** It copies itself to the server; it does not need to be installed on the server.
**Win32 version available
+
** Requires SSH for remote backups.
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)
+
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.
**Stores most recent backup as regular files
+
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}
**To revert to older versions, you apply the diff files to recreate the older versions
+
**It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change
+
**Required python and librsync
+
**Win32 version available
+
*[http://www.rsnapshot.org rsnapshot] (in community repo)
+
**Does not store diffs, instead it copies entire files if they have changed
+
**Creates hard links between a series of backed-up trees (snapshots)
+
**It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.
+
**Destination filesystem must support hard links
+
**Requires perl
+
**Win32 version available
+
*[http://safekeep.sourceforge.net/ SafeKeep] (in AUR)
+
**Enhancement to rdiff-backup
+
**Integrates with Linux LVM and databases to create consistent backups
+
**Bandwidth throttling
+
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync
+
** Creates hard links between a series of backed-up trees (snapshots)
+
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer
+
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog
+
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script
+
** It copies itself to the server; it does not need to be installed on the server
+
** Requires SSH for remote backups
+
** It resumes stopped backups; it can even be told to run for n minutes
+
  
===== GUI =====
+
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}
*[http://backintime.le-web.org/ Back In Time] (in [http://aur.archlinux.org/packages.php?ID=23002 AUR])
+
**Creates hard links between a series of backed-up trees (snapshots)
+
**Inspired by FlyBack and TimeVault
+
**Really is just a front-end to rsync, diff, cp
+
**A new snapshot is created only if something changed since the last snapshot
+
*[http://www.flyback-project.org/ FlyBack] (in [http://aur.archlinux.org/packages.php?ID=14575 AUR])
+
**A clone of Apple's Mac OS X Time Machine software
+
*[http://areca.sourceforge.net/ Areca Backup] (in [http://aur.archlinux.org/packages.php?ID=13637 AUR])
+
**Written in Java
+
**Primarily archive-based (ZIP), but will do file-based backup as well
+
**Delta backup supported (stores only changes)
+
*[https://wiki.ubuntu.com/TimeVault TimeVault]
+
**Creates hard links between a series of backed-up trees (snapshots)
+
**Imitates Windows Volume Shadow Copy feature in that it integrates with Nautilus to provide a "Previous Versions" tab in the Properties dialog.
+
*[http://luckybackup.sourceforge.net/index.html Luckybackup] (in [http://aur.archlinux.org/packages.php?ID=23121 AUR])
+
**Luckybackup it's an easy program to backup and sync your files.
+
**It is written in Qt and C++
+
**It has Sync,Backup (with include and exclude options),Restore operations,Remote connection backup,Scheduled backups,Command line mode and more abilities.
+
*[http://www.darhon.com/syncbackup syncbackup] (in [http://aur.archlinux.org/packages.php?ID=50519 AUR])
+
**Front-end for rsync provides a fast and extraordinarily copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.
+
  
=== Not rsync-based ===
+
* {{App|oldtime|A highly customizable and configurable backup & restore system.|https://github.com/GutenYe/oldtime|{{AUR?|oldtime}}}}
  
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.
+
==== Graphical ====
 +
* {{App|Back In Time|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.
 +
** Creates hard links between a series of backed-up trees (snapshots).
 +
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.
 +
** A new snapshot is created only if something changed since the last snapshot.
 +
|http://backintime.le-web.org/|{{AUR|backintime}}}}
  
* [http://aur.archlinux.org/packages.php?ID=4351 backup-manager] (in AUR); [http://www.backup-manager.org/ homepage] Backup Manager is a command line backup tool for GNU/Linux, designed to help you make daily archives of your file system. Written in bash and perl, it can make archives in lots of open formats (tar, gzip, bzip2, lzma, dar, zip) and provides lots of interesting features (such as network exports or CD/DVD automated-burning). The program is designed to be as easy to use as possible and is popular with desktop users and sysadmins. The whole backup process is defined in one full-documented configuration file which needs no more than 5 minutes to tune for your needs. It just works. Archives are kept for a given number of days and the upload system can use ftp or scp to transfer the generated archives to a list of remote hosts. Gettext is used for internationalization.
+
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}}}
** 1 configuration file, 5 minutes setup
+
** Manually invoke backup process or run daily unattended via CRON
+
** Backup files, MySQL databases and Subversion  repositories
+
** Specify multiple targets to backup at once (/etc, /home, etc…)
+
** Ability to exclude files from backup
+
** Automatically purge old backups
+
** Full backup only or Full + Incremental backup
+
** Backup to an attached disk, LAN or Internet
+
** Burns backup to CD/DVD with MD5 checksum verification
+
** Archives in lots of open formats: tar, gzip, bzip2, lzma, dar, zip
+
** Slice archives to 2 GB if using dar archives format
+
** Backup over SSH
+
** Encrypts archives
+
** Offsite remote upload of archives via FTP, SSH, RSYNC or Amazon S3
+
** Can run with different configuration files concurrently
+
** Easy external hooks
+
**Simply uncompressed the open format backup archives with any command line or GUI tool
+
  
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:
+
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.
** compression method can be configured
+
** Written in Java.
** possible to specify more directories to backup
+
** Primarily archive-based (zip), but will do file-based backup as well.
 +
** Delta backup supported (stores only changes).
 +
|http://areca.sourceforge.net/|{{AUR|areca}}}}
  
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):
+
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.
** creates tar.gz or tar.bz2 archives
+
** It is written in Qt and C++.
** supports gpg encryption
+
** It has sync, backup (with include and exclude options) and restore capabilities.
** supports pushing over ssh
+
** It can do remote connection backups, scheduled backups.
** possible to specify more directories to backup
+
** A command line mode.
 +
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}
  
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:
+
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.
** creating tar.gz archives '''or''' rsync-type copy
+
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy
+
** compression (also for rsync-type copy)
+
  
* [[Duplicity|duplicity]] is a simple command-line utility which allows encrypted compressed incremental backup to nearly any storage. For even simpler usage there is [http://aur.archlinux.org/packages.php?ID=33040 duply] frontend.
+
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.
** supports gpg encryption and signing
+
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
** supports gzip compression
+
** Optional compression support further reducing disk storage.
** supports full or incremental backups, incremental backup stores only difference between new and old file
+
** No client-side software is needed.
** supports pushing over ftp, ssh/scp, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem
+
** Simple but powerful web-based UI.
 +
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}
  
* [http://dar.linux.free.fr/ dar] (in community repo):
+
=== Other backups ===
** it uses its own format for archives (so you need to have it around when you want to restore)
+
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.
** supports splitting backups into more files by size
+
** makefile-type config files, some custom scripts are available along with it
+
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)
+
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)
+
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)
+
  
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.
+
==== Console ====
** GUI based
+
* {{App|Arch Backup|A trivial backup script with simple configuration.
** creating tar.gz archives
+
** Configurable compression method.
** possible to define : backup frequency, backup time, Max copies
+
** Multiple backup targets.
 +
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}}}
  
* [http://www.manent-backup.com/ Manent] (in [http://aur.archlinux.org/packages.php?ID=19241 AUR]) is an algorithmically strong backup and archival program. It's Python based and has the following features:
+
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.
** Efficient backup to anything that looks like a storage
+
** Creates tar.gz or tar.bz2 archives.
** Works well over a slow and unreliable network
+
** Supports gpg encryption.
** Offers online access to the contents of the backup
+
** Supports pushing over SSH.
** Backed up storage is completely encrypted
+
** Multiple backup targets.
** Several computers can use the same storage for backup, automatically sharing data
+
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}
** Not reliant on timestamps of the remote system to detect changes
+
** Cross-platform support for Unicode file names
+
  
* [https://launchpad.net/deja-dup Deja-Dup] (in [https://aur.archlinux.org/packages.php?ID=28835 AUR]) Déjà Dup is a simple backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.
+
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.
 +
** Creates tar.gz archives or rsync-type copy.
 +
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.
 +
** Compression (also for rsync-type copy).
 +
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}
  
=== Cloud backups ===
+
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.
 +
** Supports gpg encryption and signing.
 +
** Supports gzip compression.
 +
** Supports full or incremental backups, incremental backup stores only difference between new and old file.
 +
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.
 +
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}
  
* [http://www.crashplan.com/ Crashplan] (in [https://aur.archlinux.org/packages.php?ID=52448 AUR])
+
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.
 +
** It uses its own format for archives (so you need to have it around when you want to restore).
 +
** Supports splitting backups into more files by size.
 +
** Makefile-type config files, some custom scripts are available along with it.
 +
** Supports basic encryption.
 +
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}.
 +
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}} (fontend)}}
 +
 
 +
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.
 +
** Efficient backup to anything that looks like a storage.
 +
** Works well over a slow and unreliable network.
 +
** Offers online access to the contents of the backup.
 +
** Backed up storage is completely encrypted.
 +
** Several computers can use the same storage for backup, automatically sharing data.
 +
** Not reliant on timestamps of the remote system to detect changes.
 +
** Cross-platform support for Unicode file names.
 +
|http://code.google.com/p/manent/|{{AUR|manent}}}}
 +
 
 +
* {{App|btar|tar-compatible archiver
 +
** Fast archive creation (multicore compression or ciphering)
 +
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)
 +
** Indexed archive retrieval or listing
 +
** Redundancy
 +
** Serialization through pipes (and only one file per backup)
 +
** Can be extracted or checked with gnutar
 +
** Differential backups of multiple levels
 +
** Optional encoding of big files with rsync-differences
 +
|http://viric.name/cgi-bin/btar|{{AUR|btar}}}}
 +
 
 +
* {{App|obnam|Easy, secure backup program
 +
** Uses snapshots instead of full/incremental backups
 +
|http://liw.fi/obnam/|{{AUR|obnam}}}}
 +
 
 +
* {{App|System Tar & Restore|A set of bash scripts for full system backup and restore
 +
** CLI and Dialog interfaces, Zenity wrappers
 +
** Easy backup and restore wizards
 +
** Uses tar to create and restore backups
 +
** Creates tar.gz or tar.xz archives
 +
** Uses rsync to transfer a running system
 +
** Supports Grub2 and Syslinux
 +
|http://code.google.com/p/system-tar-and-restore/|{{AUR|system-tar-and-restore}}}}
 +
 
 +
==== Graphical ====
 +
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.
 +
** Creates {{ic|.tar.gz}} archives.
 +
** Configurable backup frequency, backup time and max copies.
 +
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}}}
 +
 
 +
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.
 +
** Automatic, timed backup configurable in GUI.
 +
** Restore wizard.
 +
** Integrated into the Nautilus file manager.
 +
** Inherits several features of duplicity.
 +
|https://launchpad.net/deja-dup|{{Pkg|deja-dup|}}}}
 +
 
 +
* {{App|Synkron|A folder synchronization tool.
 +
** Syncs multiple folders.
 +
** Can exclude files from sync based on wildcards.
 +
** Restores files.
 +
** Cross-platform support.
 +
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}
 +
 
 +
== Cloud backups ==
 +
* {{App|[[Wikipedia:CrashPlan|CrashPlan]]|An online/offsite backup solution.
 
** Unlimited online space for very reasonable pricing.
 
** Unlimited online space for very reasonable pricing.
 
** Automatic and incremental backups to multiple destinations.
 
** Automatic and incremental backups to multiple destinations.
Line 163: Line 192:
 
** Offers encryption and de-duplication.
 
** Offers encryption and de-duplication.
 
** Software is generally free.
 
** Software is generally free.
 +
|http://www.crashplan.com/|{{AUR|crashplan}}}}
  
* [http://www.getdropbox.com Dropbox] (in [http://aur.archlinux.org/packages.php?ID=19615 AUR] with Gnome support, and also [http://aur.archlinux.org/packages.php?ID=23363 AUR] without Gnome dependencies). 
+
* {{App|[[Dropbox]]|A popular file-sharing service.
** A daemon monitors a specified directory, and uploads incremental changes to Dropbox.com.   
+
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com.   
 
** Changes automatically show up on your other computers.   
 
** Changes automatically show up on your other computers.   
 
** Includes file sharing and a public directory.   
 
** Includes file sharing and a public directory.   
Line 171: Line 201:
 
** Community written add-ons.   
 
** Community written add-ons.   
 
** Free accounts have 2GB storage.
 
** Free accounts have 2GB storage.
 +
|http://www.getdropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}
  
* [http://www.jungledisk.com/ Jungle Disk] (in [http://aur.archlinux.org/packages.php?ID=15015 AUR])
+
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.
** Automatic backups to Amazon's servers.
+
** A Nautilus extension.
** Not free, but very low prices.
+
** Only paid plans available.
 +
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}}}
  
* [http://www.tarsnap.com Tarsnap] (in community repo)
+
* {{App|Tarsnap|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).
** Compressed encrypted backups to Amazon S3 Servers
+
** Compressed encrypted backups to Amazon S3 Servers.
** Automate via cron
+
** Automate via [[cron]].
** Incremental backups
+
** Incremental backups.
** Backup any files or directories
+
** Backup any files or directories.
** Command line only client
+
** Command line only client.
** Very very low prices
+
** Pay only for usage (bandwidth and storage).
** Pay only for usage; bandwidth and storage  
+
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}
  
* [http://www.wuala.com/ Wuala] (in [https://aur.archlinux.org/packages.php?ID=17403 AUR], also possible to [https://aur.archlinux.org/packages.php?ID=41930 run as daemon])
+
* {{App|[[Wikipedia:Wuala|Wuala]]|A secure online storage, file synchronization, versioning and backup service.
** Not Open Source, but free, also paid version available.
+
** Closed source, free and paid version available.
** Free account holds 2GB, (as of 2011.10.03.) disk space trading has been discontinued.
+
** Free account holds 5GB.
 
** Includes file sharing and a public directory.
 
** Includes file sharing and a public directory.
 
** Incremental backup and sync are both supported.
 
** Incremental backup and sync are both supported.
** Very convenient GUI.
 
 
** Social networking features.
 
** Social networking features.
 
** All files in the cloud are first encrypted locally.
 
** All files in the cloud are first encrypted locally.
 +
|http://www.wuala.com/|{{AUR|wuala}}, {{AUR|wuala-daemon}} – to run as daemon}}
  
== Not incremental backups ==
+
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store[1] their data.
* [http://k7z.sourceforge.net/ Q7Z] (in [http://aur.archlinux.org/packages.php?ID=12822 AUR]) is a P7Zip GUI for Linux, which attempts to simplify data compression and backup.  It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.  Use Q7Z if you want to:
+
** Free and paid version available.
** Update existing archives quickly
+
** Free account holds 2GB.
** Backup multiple folders to a storage location
+
** Includes file sharing and a public directory.
** Create or extract protected archives
+
** Incremental backup and sync are both supported.
** Lessen effort by using archiving profiles and lists
+
|https://spideroak.com/|{{AUR|spideroak}}}}
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])
+
* [[Partclone]] -- back up and restore only the used blocks of a partition
+
* [http://redobackup.org/ Redo Backup and Recovery] - a nice liveCD that uses xPUD for the GUI and partclone for the backend.
+
* {{Package AUR|filesystem-backup}} -- simple bash script (was originally a MySQL backup script) that creates a rolling 7 days, rolling 4 weeks and static monthly backups in tar format. Good for servers without a GUI.
+
* [http://clonezilla.org/ Clonezilla]
+
**Boots from live CD, USB flash drive, or PXE server
+
**Uses Partimage, ntfsclone, partclone, and dd,
+
**Compatability with many file systems (ext2, ext3, ext4, reiserfs, xfs, jfs of GNU/Linux, FAT, NTFS, and HFS+)
+
**Multicasting server to restore to many machines at once
+
**If file system is supported , only used blocks in harddisk are saved and restored. For unsupported file system, sector-to-sector copy is done
+
* [http://www.partimage.org/Main_Page Partimage]
+
*[http://www.fsarchiver.org/Main_Page Fsarchiver] (in extra repo)
+
**Support for basic file attributes (permissions, owner, ...)
+
**Support for multiple file-systems per archive
+
**Support for extended attributes (they are used by SELinux)
+
**Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems
+
**Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of windows partitions)
+
**Checksumming of everything which is written in the archive (headers, data blocks, whole files)
+
**Ability to restore an archive which is corrupt (it will just skip the current file)
+
**Multi-threaded lzo, gzip, bzip2, lzma [[Compression|compression]]: if you have a dual-core / quad-core it will use all the power of your cpu
+
**Lzma [[Compression|compression]] (slow but very efficient algorithm) to make your archive smaller.
+
**Support for splitting large archives into several files with a fixed maximum size
+
**Encryption of the archive using a password. Based on blowfish from libcrypto from openssl.
+
**Support backup of a mounted root filesystem (-A option)
+
  
*[http://www.mondorescue.org/ Mondo Rescue]
+
* {{App|[[Ubuntu One]]|An online storage service with sync and sharing across platforms.
**Image-based backups, supporting Linux/Windows, I do not think it cares much about filesystems. Backs up MBR too, along with partition layout.
+
** Free and payed versions available.
**Compression rate adjustable
+
** Free account with 5GB.
**Can backup live systems (without having to halt it, unlike most, e.g. Clonezilla).
+
** Mobile access.
**Can split image over as many as you want (just set the size for a CD - 700 MB to backup to CD, etc.).
+
** Music streaming.
**Supports booting to a "live cd", in a sense, to perform a full restore.
+
|https://one.ubuntu.com/services/|{{Pkg|ubuntuone-client}}}}
**Can backup/restore over NFS, cd's, tape drives and what not.
+
**Can verify backups
+
**Neat-o ncurses interface. Plus a free progressbar!
+
**Customizable to all kinds of ends
+
**Can get a bit confusing/time consuming to get up and running, and verify everything works.
+
== Versioning systems ==
+
  
 +
* {{App|Packrat|A simple, modular backup system that uses [[Wikipedia:DAR (Disk Archiver)|DAR]] to take full or incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3.|http://www.zeroflux.org/projects|{{AUR|packrat}}}}
 +
 +
== Non-incremental backups ==
 +
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.
 +
 +
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup.  It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.
 +
** Updates existing archives quickly.
 +
** Backup multiple folders to a storage location.
 +
** Create or extract protected archives.
 +
** Lessen effort by using archiving profiles and lists.
 +
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}
 +
 +
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.
 +
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.
 +
** Supports compression.
 +
|http://partclone.nchc.org.tw/trac/|{{AUR|partclone}}}}
 +
 +
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.
 +
** Is capable of bare-metal backup and recovery of disk partitions.
 +
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.
 +
|http://www.redobackup.org/|{{AUR?|redobackup}}}}
 +
 +
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.
 +
** Boots from live CD, USB flash drive, or PXE server.
 +
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.
 +
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.
 +
** Multicasting server to restore to many machines at once.
 +
|http://clonezilla.org/|{{AUR|clonezilla}}}}
 +
 +
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.
 +
** Has a Live CD.
 +
** Supports the most popular filesystems on Linux, Windows and Mac OS.
 +
** Compression.
 +
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.
 +
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}
 +
 +
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool
 +
** Support for basic file attributes (permissions, owner, ...).
 +
** Support for multiple file-systems per archive.
 +
** Support for extended attributes (they are used by SELinux).
 +
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.
 +
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).
 +
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).
 +
** Ability to restore an archive which is corrupt (it will just skip the current file).
 +
** Multi-threaded lzo, gzip, bzip2, lzma compression.
 +
** Support for splitting large archives into several files with a fixed maximum size.
 +
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].
 +
** Support backup of a mounted root filesystem (-A option).
 +
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}
 +
 +
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.
 +
** Image-based backups, supporting Linux/Windows.
 +
** Compression rate is adjustable.
 +
** Can backup live systems (without having to halt it).
 +
** Can split image over many files.
 +
** Supports booting to a Live CD to perform a full restore.
 +
** Can backup/restore over NFS, from CDs, tape drives and and other media.
 +
** Can verify backups.
 +
|http://www.mondorescue.org/|{{AUR|mondo}}}}
 +
 +
== Versioning systems ==
 
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.
 
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.
  
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)
+
=== Version control systems ===
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binaries, e-books, pictures, multimedia files, etc). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i do not really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. if one needs a gui, it is also possible to use gitk or qgit to browse through commits or do whatever these interfaces support. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.
+
{{Wikipedia|Comparison of revision control software}}.
== External Resources ==
+
  
 +
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.
 +
** Very easy creation, merging, and deletion of branches.
 +
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.
 +
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.
 +
** Does not handle binary files very well.
 +
|http://git-scm.com/|{{Pkg|git}}}}
 +
 +
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.
 +
** Renamed/copied/moved/removed files retain full revision history.
 +
** Native support for binary files, with space-efficient binary-diff storage.
 +
** Costs proportional to change size, not to data size.
 +
** Allows arbitrary metadata ("properties") to be attached to any file or directory.
 +
|http://subversion.apache.org/|{{Pkg|subversion}}}}
 +
 +
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.
 +
** Platform independent.
 +
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].
 +
** A set of commands consistent with Subversion.
 +
** Supports tags.
 +
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}
 +
 +
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.
 +
** Similar commands to Subversion.
 +
** Supports working with or without a central server.
 +
** Support for working with some other revision control systems
 +
** Complete Unicode support.
 +
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}
 +
 +
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.
 +
** Offline mode.
 +
** Easy branching and merging.
 +
** Written in Haskell.
 +
** Not very fast.
 +
|http://darcs.net/|{{AUR|darcs}}}}
 +
 +
=== VCS-based backups ===
 +
 +
* {{App|Gibak|A backup system based on [[Git]].
 +
** Supports binary diffs.
 +
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).
 +
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).
 +
|https://github.com/pangloss/gibak|{{AUR|gibak}}}}
 +
* {{App|bup|A fledgling Git-based backup solution written in Python and C.
 +
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.
 +
** Can back up directly to a remote bup server.
 +
** Has an improved index format to allow you to track many files.
 +
|https://github.com/bup/bup|{{AUR|bup}}}}
 +
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}}}
 +
 +
== External Resources ==
 
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]
 
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]
 
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]
 
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]

Revision as of 05:03, 10 May 2013

This wiki page contains information about various backup programs. It's a good idea to have regular backups of important data, most notably configuration files (/etc/*) and the local pacman database (usually /var/lib/pacman/local/*).

Introduction

Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:

  • What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)
  • How often do I plan to backup? (daily, weekly, monthly, etc.)
  • What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)
  • How do I plan to restore backups if needed?

Incremental backups

Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.

Rsync-type backups

The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.

Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.

Console

  • rsync — A file transfer program to keep remote files in sync.
    • rsync almost always makes a mirror of the source.
    • Impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).
    • Standard install on all distros.
    • Can run over SSH (port 22) or native rsync protocol (port 873).
    • Win32 version available.
http://rsync.samba.org/ || rsync
  • rdiff-backup — A utility for local/remote mirroring and incremental backups.
    • Stores the most recent backup as regular files.
    • To revert to older versions, you apply the diff files to recreate the older versions.
    • It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.
    • Win32 version available.
http://www.nongnu.org/rdiff-backup/ || rdiff-backup
  • rsnapshot — A remote filesystem snapshot utility.
    • Does not store diffs, instead it copies entire files if they have changed.
    • Creates hard links between a series of backed-up trees (snapshots).
    • It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.
    • Destination filesystem must support hard links.
    • Win32 version available.
http://www.rsnapshot.org/ || rsnapshot
  • SafeKeep — A client/server backup system which uses rdiff-backup.
    • Integrates with Linux LVM and databases to create consistent backups.
    • Bandwidth throttling.
http://safekeep.sourceforge.net/ || safekeepAUR
  • Link-Backup — A tool similar to rsync based scripts, but which does not use rsync.
    • Creates hard links between a series of backed-up trees (snapshots).
    • Intelligently handles renames, moves, and duplicate files without additional storage or transfer.
    • The backup directory contains .catalog, a catalog of all unique file instances; backup trees hard-link to this catalog.
    • Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.
    • It copies itself to the server; it does not need to be installed on the server.
    • Requires SSH for remote backups.
    • It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.
http://www.scottlu.com/Content/Link-Backup.html || link-backupAUR
  • Unison — A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.
http://www.cis.upenn.edu/~bcpierce/unison/ || unison
  • oldtime — A highly customizable and configurable backup & restore system.
https://github.com/GutenYe/oldtime || not packaged? search in AUR

Graphical

  • Back In Time — A simple backup tool for Linux inspired by the FlyBack and TimeVault projects.
    • Creates hard links between a series of backed-up trees (snapshots).
    • Really is just a front-end to rsync, diff, cp.
    • A new snapshot is created only if something changed since the last snapshot.
http://backintime.le-web.org/ || backintimeAUR
http://www.flyback-project.org/ || flybackAUR
  • Areca Backup — An easy to use and reliable backup solution for Linux and Windows.
    • Written in Java.
    • Primarily archive-based (zip), but will do file-based backup as well.
    • Delta backup supported (stores only changes).
http://areca.sourceforge.net/ || arecaAUR
  • luckyBackup — An easy program to backup and sync your files.
    • It is written in Qt and C++.
    • It has sync, backup (with include and exclude options) and restore capabilities.
    • It can do remote connection backups, scheduled backups.
    • A command line mode.
http://luckybackup.sourceforge.net/index.html || luckybackupAUR
  • syncBackup — A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.
http://www.darhon.com/syncbackup || syncbackupAUR
  • BackupPC — A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.
    • Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
    • Optional compression support further reducing disk storage.
    • No client-side software is needed.
    • Simple but powerful web-based UI.
http://backuppc.sourceforge.net/index.html || backuppc

Other backups

Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating .tar.bz2 or .tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.

Console

  • Arch Backup — A trivial backup script with simple configuration.
    • Configurable compression method.
    • Multiple backup targets.
http://code.google.com/p/archlinux-stuff/ || arch-backup
  • hdup — A very simple command line backup tool.
    • Creates tar.gz or tar.bz2 archives.
    • Supports gpg encryption.
    • Supports pushing over SSH.
    • Multiple backup targets.
http://miek.nl/projects/hdup2/ || hdupAUR
  • rdup — A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.
    • Creates tar.gz archives or rsync-type copy.
    • Encryption (gpg, blowfish and others); also applies for rsync-type copy.
    • Compression (also for rsync-type copy).
http://miek.nl/projects/rdup || rdupAUR
  • Duplicity — A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.
    • Supports gpg encryption and signing.
    • Supports gzip compression.
    • Supports full or incremental backups, incremental backup stores only difference between new and old file.
    • Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.
http://www.nongnu.org/duplicity/ || duplicity
  • DAR — A full-featured command-line backup tool, short for Disk ARchive.
    • It uses its own format for archives (so you need to have it around when you want to restore).
    • Supports splitting backups into more files by size.
    • Makefile-type config files, some custom scripts are available along with it.
    • Supports basic encryption.
    • Automatic backup using cron is possible with sarabAUR.
http://dar.linux.free.fr/ || darAUR kdarAUR (fontend)
  • Manent — An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.
    • Efficient backup to anything that looks like a storage.
    • Works well over a slow and unreliable network.
    • Offers online access to the contents of the backup.
    • Backed up storage is completely encrypted.
    • Several computers can use the same storage for backup, automatically sharing data.
    • Not reliant on timestamps of the remote system to detect changes.
    • Cross-platform support for Unicode file names.
http://code.google.com/p/manent/ || manentAUR
  • btar — tar-compatible archiver
    • Fast archive creation (multicore compression or ciphering)
    • Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)
    • Indexed archive retrieval or listing
    • Redundancy
    • Serialization through pipes (and only one file per backup)
    • Can be extracted or checked with gnutar
    • Differential backups of multiple levels
    • Optional encoding of big files with rsync-differences
http://viric.name/cgi-bin/btar || btarAUR
  • obnam — Easy, secure backup program
    • Uses snapshots instead of full/incremental backups
http://liw.fi/obnam/ || obnamAUR
  • System Tar & Restore — A set of bash scripts for full system backup and restore
    • CLI and Dialog interfaces, Zenity wrappers
    • Easy backup and restore wizards
    • Uses tar to create and restore backups
    • Creates tar.gz or tar.xz archives
    • Uses rsync to transfer a running system
    • Supports Grub2 and Syslinux
http://code.google.com/p/system-tar-and-restore/ || system-tar-and-restoreAUR

Graphical

  • Backerupper — A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.
    • Creates .tar.gz archives.
    • Configurable backup frequency, backup time and max copies.
http://sourceforge.net/projects/backerupper/ || backerupperAUR
  • Déjà Dup — A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.
    • Automatic, timed backup configurable in GUI.
    • Restore wizard.
    • Integrated into the Nautilus file manager.
    • Inherits several features of duplicity.
https://launchpad.net/deja-dup || deja-dup
  • Synkron — A folder synchronization tool.
    • Syncs multiple folders.
    • Can exclude files from sync based on wildcards.
    • Restores files.
    • Cross-platform support.
http://synkron.sourceforge.net/ || synkronAUR

Cloud backups

  • CrashPlan — An online/offsite backup solution.
    • Unlimited online space for very reasonable pricing.
    • Automatic and incremental backups to multiple destinations.
    • Intuitive GUI.
    • Offers encryption and de-duplication.
    • Software is generally free.
http://www.crashplan.com/ || crashplanAUR
  • Dropbox — A popular file-sharing service.
    • A daemon monitors a specified directory, and uploads incremental changes to dropbox.com.
    • Changes automatically show up on your other computers.
    • Includes file sharing and a public directory.
    • You can recover deleted files.
    • Community written add-ons.
    • Free accounts have 2GB storage.
http://www.getdropbox.com || dropboxAUR nautilus-dropboxAUR
  • Jungle Disk — An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.
    • A Nautilus extension.
    • Only paid plans available.
http://www.jungledisk.com/ || nautilus-junglediskAUR
  • Tarsnap — A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).
    • Compressed encrypted backups to Amazon S3 Servers.
    • Automate via cron.
    • Incremental backups.
    • Backup any files or directories.
    • Command line only client.
    • Pay only for usage (bandwidth and storage).
http://www.tarsnap.com || tarsnap
  • Wuala — A secure online storage, file synchronization, versioning and backup service.
    • Closed source, free and paid version available.
    • Free account holds 5GB.
    • Includes file sharing and a public directory.
    • Incremental backup and sync are both supported.
    • Social networking features.
    • All files in the cloud are first encrypted locally.
http://www.wuala.com/ || wualaAUR, wuala-daemonAUR – to run as daemon
  • SpiderOak — An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store[1] their data.
    • Free and paid version available.
    • Free account holds 2GB.
    • Includes file sharing and a public directory.
    • Incremental backup and sync are both supported.
https://spideroak.com/ || spideroakAUR
  • Ubuntu One — An online storage service with sync and sharing across platforms.
    • Free and payed versions available.
    • Free account with 5GB.
    • Mobile access.
    • Music streaming.
https://one.ubuntu.com/services/ || ubuntuone-client
  • Packrat — A simple, modular backup system that uses DAR to take full or incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3.
http://www.zeroflux.org/projects || packratAUR

Non-incremental backups

Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.

  • Q7Z — P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.
    • Updates existing archives quickly.
    • Backup multiple folders to a storage location.
    • Create or extract protected archives.
    • Lessen effort by using archiving profiles and lists.
http://k7z.sourceforge.net/ || q7zAUR
  • Partclone — A tool that can be used to back up and restore a partition while considering only used blocks.
    • Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.
    • Supports compression.
http://partclone.nchc.org.tw/trac/ || partcloneAUR
  • Redo Backup and Recovery — A backup and disaster recovery application that runs from a bootable Linux CD image.
    • Is capable of bare-metal backup and recovery of disk partitions.
    • Uses xPUD and Partclone for the backend.
http://www.redobackup.org/ || not packaged? search in AUR
  • Clonezilla — A disaster recovery, disk cloning, disk imaging and deployment solution.
    • Boots from live CD, USB flash drive, or PXE server.
    • Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.
    • Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.
    • Multicasting server to restore to many machines at once.
http://clonezilla.org/ || clonezillaAUR
  • Partimage — A disk cloning utility for Linux/UNIX environments.
    • Has a Live CD.
    • Supports the most popular filesystems on Linux, Windows and Mac OS.
    • Compression.
    • Saving to multiple CDs or DVDs or across a network using Samba/NFS.
http://www.partimage.org/Main_Page || partimage
  • FSArchiver — A safe and flexible file-system backup and deployment tool
    • Support for basic file attributes (permissions, owner, ...).
    • Support for multiple file-systems per archive.
    • Support for extended attributes (they are used by SELinux).
    • Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.
    • Support for ntfs filesystems (ability to create flexible clones of a Windows partitions).
    • Checksumming of everything which is written in the archive (headers, data blocks, whole files).
    • Ability to restore an archive which is corrupt (it will just skip the current file).
    • Multi-threaded lzo, gzip, bzip2, lzma compression.
    • Support for splitting large archives into several files with a fixed maximum size.
    • Encryption of the archive using a password. Based on blowfish from libcrypto from OpenSSL.
    • Support backup of a mounted root filesystem (-A option).
http://www.fsarchiver.org/Main_Page || fsarchiver
  • Mondo Rescue — A disaster recovery solution to create backup media that can be used to redeploy the damaged system.
    • Image-based backups, supporting Linux/Windows.
    • Compression rate is adjustable.
    • Can backup live systems (without having to halt it).
    • Can split image over many files.
    • Supports booting to a Live CD to perform a full restore.
    • Can backup/restore over NFS, from CDs, tape drives and and other media.
    • Can verify backups.
http://www.mondorescue.org/ || mondoAUR

Versioning systems

These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.

Version control systems

Template:Wikipedia.

  • Git — A distributed revision control and source code management system with an emphasis on speed.
    • Very easy creation, merging, and deletion of branches.
    • Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.
    • Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.
    • Does not handle binary files very well.
http://git-scm.com/ || git
  • Subversion — A full-featured centralized version control system originally designed to be a better CVS.
    • Renamed/copied/moved/removed files retain full revision history.
    • Native support for binary files, with space-efficient binary-diff storage.
    • Costs proportional to change size, not to data size.
    • Allows arbitrary metadata ("properties") to be attached to any file or directory.
http://subversion.apache.org/ || subversion
  • Mercurial — A distributed version control system written in Python and similar in many ways to Git.
    • Platform independent.
    • Support for extensions.
    • A set of commands consistent with Subversion.
    • Supports tags.
http://mercurial.selenic.com/ || mercurial
  • Bazaar — A distributed version control system that helps you track project history over time and to collaborate easily with others.
    • Similar commands to Subversion.
    • Supports working with or without a central server.
    • Support for working with some other revision control systems
    • Complete Unicode support.
http://bazaar.canonical.com/en/ || bzr
  • Darcs — A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.
    • Offline mode.
    • Easy branching and merging.
    • Written in Haskell.
    • Not very fast.
http://darcs.net/ || darcsAUR

VCS-based backups

  • Gibak — A backup system based on Git.
    • Supports binary diffs.
    • Uses all of Git's features (such as .gitignore for filtering files).
    • Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).
https://github.com/pangloss/gibak || gibakAUR
  • bup — A fledgling Git-based backup solution written in Python and C.
    • Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.
    • Can back up directly to a remote bup server.
    • Has an improved index format to allow you to track many files.
https://github.com/bup/bup || bupAUR
  • ColdStorage — Another backup tool using Git at its core, written in Qt.
http://gitorious.org/coldstorage || coldstorage-gitAUR

External Resources