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.

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 ====

+

=== 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.

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.

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.

* {{App|[[Wikipedia:Unison|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}}}}

+

* {{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}}}}

** Creates hard links between a series of backed-up trees (snapshots).

** Creates hard links between a series of backed-up trees (snapshots).

Line 88:

Line 87:

|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}

|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}

−

* {{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.|http://backuppc.sourceforge.net/index.html|{{Pkg|BackupPC}}}}

+

* {{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.

+

** 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|{{Pkg|backuppc}}}}

−

==== Other backups ====

+

=== Other backups ===

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.

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.

−

===== Console =====

+

==== Console ====

−

* {{App|Backup Manager|A command line backup tool for Linux, designed to help you make daily archives of your file system.

* {{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}}}}

* {{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 ===

+

== 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.

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.

Line 242:

Line 251:

** Is capable of bare-metal backup and recovery of disk partitions.

** Is capable of bare-metal backup and recovery of disk partitions.

** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.

** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.

* [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: https://aur.archlinux.org/packages.php?ID=18318.

+

{{Wikipedia|Comparison of revision control software}}.

+

+

* {{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 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/apenwarr/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 ==

== 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 06:27, 4 January 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/*).

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.

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.

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.

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.

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.