Difference between revisions of "Synchronization and backup programs"

From ArchWiki
Jump to: navigation, search
(Incremental backups: move some applications into the table and drop excessive description retrievable upstream)
m (Data synchronization: grammar)
(199 intermediate revisions by 30 users not shown)
Line 5: Line 5:
 
[[ru:Backup programs]]
 
[[ru:Backup programs]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|Full system backup with rsync}}
+
{{Related|System backup}}
{{Related|Full System Backup with tar}}
 
 
{{Related|Disk cloning}}
 
{{Related|Disk cloning}}
 
{{Related|List of applications#File sharing}}
 
{{Related|List of applications#File sharing}}
{{Related|Snapper}}
+
{{Related|System maintenance#Backup}}
 +
{{Related|Dotfiles#Version control}}
 +
{{Related|File recovery}}
 
{{Related articles end}}
 
{{Related articles end}}
  
This wiki page contains information about various backup programs. It is 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/*}}).
+
This page lists and compares applications that synchronize data between two or more locations, and those that build on top of such functionality to make incremental copies of important data for backup purposes. Because of their relationship, the two groups share several traits that justify describing them in the same article.
  
== Overview ==
+
== Backup overview ==
  
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:
+
Having backups of important data is a necessary measure to take, since human and machine processing errors are very likely to generate corruption as time passes, and also the physical media where the data is stored is inevitably destined to fail. In order to choose the best program for one's own needs, the following aspects should be considered:
* 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.)
+
* The type of backup medium that is going to store the data, e.g. CD, DVD, remote server, external hard drive, etc.
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)
+
* The planned frequency of backups, e.g. daily, weekly, monthly, etc.
* How do I plan to restore backups if needed?
+
* The features expected from the backup solution, e.g. compression, encryption, handles renames, etc.
 +
* The planned method to restore backups if needed.
  
 
== Data synchronization ==
 
== Data synchronization ==
Line 28: Line 30:
 
See also [[Wikipedia:Comparison of file synchronization software]].
 
See also [[Wikipedia:Comparison of file synchronization software]].
  
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.
+
'''Legend:'''
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}
 
  
* {{App|git-annex|Creates a synchronised folder on each of your OSX and Linux computers, Android devices, removable drives, NAS appliances, and cloud services.|http://git-annex.branchable.com/|{{Pkg|git-annex}}}}
+
* '''Name''': the application name, linking to the official website.
 +
* '''Installation''': a link to the main ArchWiki article, if existing, or directly to the package pages.
 +
* '''Implementation''': the programming language, library, or utility that the application is based on.
 +
* '''Delta transfer''': only the modified ''parts'' of files are transferred.
 +
* '''Encrypted transfer''': data is encrypted by default when transferred over the network.
 +
* '''FS metadata''': file system permissions and attributes are synchronized.
 +
* '''Resumable''': the synchronization can be resumed without restarting it if interrupted.
 +
* '''Handles renames''': moved/renamed files are detected and not stored or transferred twice. It typically means that a checksum of files or its chunks is computed.
 +
* '''Version control''': the old version of files are backed up ('''reverse incremental backup''').
 +
* '''Change propagation''': specifies in how many directions changes can be propagated. ''Unidirectional'' means one-way synchronization of two locations, ''bidirectional'' means two-way synchronization of two locations and ''multidirectional'' means full synchronization of more than two locations.
 +
* '''Conflict resolution''': the application handles file conflicts, either automatically or interactively, i.e. it does not silently discard conflicting files. This attribute does not apply to applications that only propagate changes in one direction.
 +
* '''FS monitoring''': the application listens to file system events to trigger the synchronization.
 +
* '''CLI''': the application is command-line driven, i.e. it is scriptable.
 +
* '''Other interfaces''': the application has the specified user interfaces, e.g. GUI, TUI, or web-based.
 +
* '''License''': the license of the server and client applications.
 +
* '''Other platforms''': supported operating systems other than Linux.
 +
* '''Active''': whether the project is currently maintained.
 +
* '''Specificity''': brief notes about special features that notably set the application apart from the others.
  
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}
+
{| class="wikitable sortable"
 
+
! Name
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:
+
! Installation
** Execution time control
+
! Implementation
** Fault tolerance with possibility to resume on error
+
! Delta transfer
** Soft deletion, on-conflict backups with automatic cleanup
+
! Encrypted transfer
** Alert notifications via email
+
! FS metadata
** Before and /or after time controlled local and / or remote command execution
+
! Resumable
** File monitor mode
+
! Handles renames
|http://www.netpower.fr/osync}}
+
! Version control
 
+
! Change propagation
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.
+
! Conflict resolution
** rsync almost always makes a mirror of the source.
+
! FS monitoring
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.
+
! CLI
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).
+
! Other interfaces
** Standard install on all distros.
+
! License
** Can run over SSH (port 22) or native rsync protocol (port 873).
+
! Other platforms
** Win32 version available.
+
! Active
|http://rsync.samba.org/|{{Pkg|rsync}}}}
+
! Specificity
 
+
|-
* {{App|SparkleShare|Collaboration and sharing tool based on git written in C Sharp.|http://sparkleshare.org/|{{Pkg|sparkleshare}}}}
+
| [https://www.resilio.com/individuals/ Resilio Sync] (formerly BitTorrent Sync)
 
+
| [[Resilio Sync]]
* {{App|[[Syncthing]]|Open-source file synchronization client/server application, written in Go, implementing its own, equally free Block Exchange Protocol.|https://syncthing.net/|{{Pkg|syncthing}} {{Pkg|syncthing-gtk}}}}
+
| Closed source
 
+
| {{Yes}}
* {{App|Synkron|A folder synchronization tool.
+
| {{Yes}}, also LAN transfer encryption option
** Syncs multiple folders.
+
| style="text-align:center;" | ?
** Can exclude files from sync based on wildcards.
+
| {{Yes}}
** Restores files.
+
| style="text-align:center;" | ?
** Cross-platform support.
+
| {{Yes}}, previous versions moved to archive folder
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}
+
| multidirectional
 
+
| style="text-align:center;" | ?
* {{App|[[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}}}}
+
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{G|Web}}
 +
| Proprietary freemium
 +
| OS X, Windows, Android, iOS, Windows Phone, Amazon Kindle Fire, FreeBSD
 +
| {{Yes}}
 +
| P2P sync
 +
|-
 +
| [http://freefilesync.sourceforge.net/ FreeFileSync]
 +
| {{AUR|freefilesync}}
 +
| C++
 +
| style="text-align:center;" | ?
 +
| {{G|SFTP [http://www.freefilesync.org/faq.php#features]}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{G|Yes [http://www.freefilesync.org/faq.php#features]}}
 +
| {{G|1=Yes [http://www.freefilesync.org/manual.php?topic=versioning]}}
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| GPL
 +
| Windows, OS X
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://git-annex.branchable.com/ git-annex]
 +
| {{Pkg|git-annex}}
 +
| Haskell, git
 +
| {{G|rsync [http://git-annex.branchable.com/transferring_data/]}}
 +
| {{G|rsync [http://git-annex.branchable.com/transferring_data/]}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| multidirectional; with git remotes [http://git-annex.branchable.com/sync/]
 +
| {{G|renames conflicting files [http://git-annex.branchable.com/automatic_conflict_resolution/]}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{G|[http://git-annex.branchable.com/assistant/ git-annex assistant]}}
 +
| GPLv3
 +
| OS X, Android
 +
| {{Yes}}
 +
| Manage files with git
 +
|-
 +
| [http://www.opbyte.it/grsync/ Grsync]
 +
| {{Pkg|grsync}}
 +
| rsync front-end
 +
| {{G|rsync}}
 +
| {{G|rsync}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{G|GTK+}}
 +
| GPLv2
 +
|
 +
| style="text-align:center;" | ?
 +
|
 +
|-
 +
| [https://github.com/gutenye/gutbackup gutbackup]
 +
| {{AUR|gutbackup}}
 +
| rsync wrapper
 +
| {{G|rsync}}
 +
| {{G|rsync}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{No}}
 +
| MIT
 +
|
 +
| style="text-align:center;" | ?
 +
|
 +
|-
 +
| [https://trixon.se/projects/jotasync/ Jotasync]
 +
| {{AUR|jotasync}}
 +
| Java gui for rsync
 +
| {{G|rsync}}
 +
| {{G|rsync}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| style="text-align:center;" | ?
 +
| {{Y|limited}}
 +
| {{G|Swing}}
 +
| Apache v2
 +
| OS X, Windows
 +
| {{Yes}}
 +
| Integrated scheduler.
 +
|-
 +
| [http://luckybackup.sourceforge.net/index.html luckyBackup]
 +
| {{AUR|luckybackup}}
 +
| C++
 +
| {{G|rsync [http://luckybackup.sourceforge.net/features.html]}}
 +
| {{G|rsync [http://luckybackup.sourceforge.net/features.html]}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| style="text-align:center;" | ?
 +
| {{Y|limited [http://luckybackup.sourceforge.net/manual.html#terminal]}}
 +
| {{G|Qt}}
 +
| GPLv3
 +
|
 +
| {{Y|frozen [http://luckybackup.sourceforge.net/index.html]}}
 +
|
 +
|-
 +
| [http://www.netpower.fr/osync osync.sh]
 +
| {{AUR|osync}}
 +
| Shell
 +
| {{G|rsync}}
 +
| {{G|rsync}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| bidirectional
 +
| {{G|keeps multiple versions of a file [http://www.netpower.fr/sites/default/files/soft/html-doc/osync_v1.2.html#toc-Subsubsection-1.3.1]}}
 +
| {{G|optional [https://github.com/deajan/osync#daemon-mode]}}
 +
| {{Yes}}
 +
| {{No}}
 +
| BSD
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://www.nongnu.org/rdiff-backup/ rdiff-backup]
 +
| {{Pkg|rdiff-backup}}
 +
| Python 2
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| GPL
 +
| Win32
 +
| style="text-align:center;" | ?
 +
|
 +
|-
 +
| [http://rsync.samba.org/ rsync]
 +
| [[rsync]]
 +
| C
 +
| {{Yes}}
 +
| {{G|SSH or native protocol}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{No}}
 +
| {{G|
 +
* {{ic|--link-dest}} with hard links [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup]
 +
* {{ic|--backup}}
 +
}}
 +
| unidirectional
 +
| style="text-align:center;" | n/a
 +
| {{No}}
 +
| {{Yes}}
 +
| {{G|grsync}}
 +
| GPLv3
 +
| Win32
 +
| {{Yes}}
 +
| Standard tool present on all Linux distributions.
 +
|-
 +
| [http://sparkleshare.org/ SparkleShare]
 +
| {{Pkg|sparkleshare}}
 +
| C#
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| GPLv3
 +
| Windows, OS X
 +
| style="text-align:center;" | ?
 +
|
 +
|-
 +
| [https://syncthing.net/ Syncthing]
 +
| [[Syncthing]]
 +
| Go
 +
| {{G|Yes [http://docs.syncthing.net/users/faq.html#is-synchronization-fast]}}
 +
| {{G|Yes [http://docs.syncthing.net/users/security.html]}}
 +
| {{Y|partial [http://docs.syncthing.net/users/faq.html#what-things-are-synced]}}
 +
| {{G|Yes }}
 +
| style="text-align:center;" | ?
 +
| {{G|Yes [http://docs.syncthing.net/users/versioning.html]}}, previous versions moved to archive folder
 +
| multidirectional
 +
| {{G|renames one file [https://docs.syncthing.net/users/faq.html#what-if-there-is-a-conflict]}}
 +
| {{G|Yes with [https://github.com/syncthing/syncthing-inotify syncthing-inotify]}}
 +
| {{Yes}}
 +
| {{G|Web, GTK}}
 +
| MPL v2
 +
| Windows, OS X, Android, BSD, Solaris, Kindle Paperwhite
 +
| {{Yes}}
 +
| P2P sync
 +
|-
 +
| [http://synkron.sourceforge.net/ Synkron]
 +
| {{AUR|synkron}}
 +
| C++
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| multidirectional
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{G|Qt}}
 +
| GPLv2
 +
| Windows, OS X
 +
| {{R|[https://sourceforge.net/projects/synkron/ No]}}
 +
|
 +
|-
 +
| [https://tasktools.org/projects/taskd.html taskd]
 +
| [[Taskd]]
 +
| C++, python,  
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| multidirectional
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| MIT
 +
| Android
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://www.cis.upenn.edu/~bcpierce/unison/ Unison]
 +
| [[Unison]]
 +
| OCaml
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Y|partial [http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#perms]}}
 +
| {{G|optional [http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#speeding]}}
 +
| {{No}}
 +
| {{G|Yes [http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#backups]}}
 +
| bidirectional
 +
| {{G|interactive}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{G|GTK2}}
 +
| GPL
 +
| Windows, OS X, FreeBSD, Android
 +
| {{G|Yes [http://www.cis.upenn.edu/~bcpierce/unison/status.html]}}
 +
|
 +
|-
 +
! Name
 +
! Installation
 +
! Implementation
 +
! Delta transfer
 +
! Encrypted transfer
 +
! FS metadata
 +
! Resumable
 +
! Handles renames
 +
! Version control
 +
! Change propagation
 +
! Conflict resolution
 +
! FS monitoring
 +
! CLI
 +
! Other interfaces
 +
! License
 +
! Other platforms
 +
! Active
 +
! Specificity
 +
|}
  
 
== Incremental backups ==
 
== Incremental backups ==
Line 70: Line 383:
 
Applications that can do incremental backups remember and take into account what data has been backed up during the last run (so-called "diffs") 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 (so-called "diffs") 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.
  
Some do not apply compression or encryption: on one 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.
+
See also [[Dotfiles#Version control]].
 
 
Others tend to create (big) archive files and (of course) keep track of what has 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.
 
  
 
'''Legend:'''
 
'''Legend:'''
Line 81: Line 392:
 
* '''Compressed storage''': compression is used for storage.
 
* '''Compressed storage''': compression is used for storage.
 
* '''Encrypted storage''': encryption is used for storage.
 
* '''Encrypted storage''': encryption is used for storage.
* '''Delta storage''': only the modified ''parts'' of files are incrementally backed up.
+
* '''Delta transfer''': only the modified ''parts'' of files are transferred.
 
* '''Encrypted transfer''': data is encrypted by default when transferred over a network.
 
* '''Encrypted transfer''': data is encrypted by default when transferred over a network.
 
* '''FS metadata''': file system permissions and attributes are backed up.
 
* '''FS metadata''': file system permissions and attributes are backed up.
* '''FS monitoring''': the file system is monitored for changes to trigger automatic snapshots.
 
 
* '''Easy access''': the backup is stored plainly in the file system, or is mountable as such.
 
* '''Easy access''': the backup is stored plainly in the file system, or is mountable as such.
 
* '''Resumable''': the backup can be resumed without restarting it if interrupted.
 
* '''Resumable''': the backup can be resumed without restarting it if interrupted.
* '''Handles renames''': moved/renamed files are detected and not reuploaded.
+
* '''Handles renames''': moved/renamed files are detected and not stored or transferred twice; it typically means that a checksum is computed for files or chunks thereof.
 
* '''CLI''': the application is command-line driven, i.e. it is scriptable.
 
* '''CLI''': the application is command-line driven, i.e. it is scriptable.
 
* '''Other interfaces''': the application has the specified user interfaces, e.g. GUI, TUI, or web-based.
 
* '''Other interfaces''': the application has the specified user interfaces, e.g. GUI, TUI, or web-based.
Line 93: Line 403:
 
* '''Other platforms''': supported operating systems other than Linux.
 
* '''Other platforms''': supported operating systems other than Linux.
 
* '''Active''': whether the project is currently maintained.
 
* '''Active''': whether the project is currently maintained.
* '''Notes''': additional notes.
+
* '''Specificity''': brief notes about special features that notably set the application apart from the others.
  
{{Expansion|Enter values in the cells marked with "?". Also replace the "Yes" with more specific values.}}
+
=== Single machine ===
  
{{Accuracy|The values in the table need double-checking.}}
+
These applications are aimed at backing up data from the machine they are installed on, although the backup destination can be located on an external machine or storage media.
 +
 
 +
==== Chunk-based increments ====
 +
 
 +
If a file is modified, these applications store only its changed ''parts'' at the next snapshot. Compared to [[#File-based increments]] applications, these are more space-efficient, especially when large files receive small modifications; on the other hand, the archived snapshots have to be opened with the backup application that created them, since the files have to be reconstructed from the stored binary diffs.
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 105: Line 419:
 
! Compressed storage
 
! Compressed storage
 
! Encrypted storage
 
! Encrypted storage
! Delta storage
+
! Delta transfer
 
! Encrypted transfer
 
! Encrypted transfer
 
! FS metadata
 
! FS metadata
! FS monitoring
 
 
! Easy access
 
! Easy access
 
! Resumable
 
! Resumable
Line 117: Line 430:
 
! Other platforms
 
! Other platforms
 
! Active
 
! Active
! Notes
+
! Specificity
|-
 
| [http://code.google.com/p/archlinux-stuff/ Arch Backup]
 
| {{Pkg|arch-backup}}{{Broken package link|package not found}}
 
| ?
 
| {{G|configurable}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Yes}}
 
| {{No}}
 
| ?
 
|
 
| {{Y|?}}
 
| Multiple backup targets.
 
 
|-
 
|-
 
| [http://areca.sourceforge.net/ Areca Backup]
 
| [http://areca.sourceforge.net/ Areca Backup]
Line 147: Line 441:
 
| {{Yes}}
 
| {{Yes}}
 
| {{No}}
 
| {{No}}
| {{Y|?}}
+
| {{Y|Pausing only}}
| {{Y|?}}
+
| {{No}}
| {{Y|?}}
 
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
Line 157: Line 450:
 
|
 
|
 
|-
 
|-
| [https://github.com/jborg/attic/ Attic]
+
| [http://borgbackup.readthedocs.org/en/stable/ BorgBackup]
| {{AUR|attic}}
+
| {{Pkg|borg}}
 +
| Python (Attic fork)
 +
| {{G|lz4, zlib, lzma}}
 +
| {{G|AES256}}
 +
| {{Yes}}
 +
| {{G|SSH}}
 +
| {{Yes}}[http://borgbackup.readthedocs.org/en/stable/faq.html#which-file-types-attributes-etc-are-preserved]
 +
| {{Yes}}[http://borgbackup.readthedocs.org/en/stable/usage.html#borg-mount]
 +
| {{Yes}}[http://borgbackup.readthedocs.org/en/stable/faq.html#if-a-backup-stops-mid-way-does-the-already-backed-up-data-stay-there]
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|third party}}
 +
| BSD
 +
| *BSD, OS X
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://viric.name/cgi-bin/btar btar]
 +
| {{AUR|btar}}{{Broken package link|{{aur-mirror|btar}}}}
 +
| C
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{No}}
 +
| GPLv3
 +
|
 +
| {{Yes}}
 +
| Redundancy, indexed extraction, multicore compression, input and output serialisation, tolerance to partial archive errors.
 +
|-
 +
| [https://bup.github.io/ bup]
 +
| {{Pkg|bup}} {{AUR|bup-git}}
 +
| C, Python, git
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|Immature}}
 +
| {{Yes}}[https://bup.github.io/man/bup-fuse.html]
 +
| {{G|pick up where you left off [https://github.com/bup/bup/blob/master/README.md#reasons-bup-is-awesome]}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|third party}}
 +
| GPLv2
 +
| Windows, OS X, NetBSD, Solaris
 +
| {{Yes}}
 +
| Same storage format as git
 +
|-
 +
| [https://github.com/emersion/bups bups]
 +
| {{AUR|bups}}
 +
| bup frontend
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|Immature}}
 +
| {{Yes}}
 +
| {{G|pick up where you left off [https://github.com/bup/bup/blob/master/README.md#reasons-bup-is-awesome]}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|GTK 3}}
 +
| MIT
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [https://launchpad.net/deja-dup Déjà Dup]
 +
| [[Déjà Dup]]
 +
| duplicity front-end
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{G|GTK+}}
 +
| GPLv3
 +
|
 +
| {{Yes}}
 +
| Integrated into [[GNOME Files]].
 +
|-
 +
| [http://www.duplicati.com/ Duplicati]
 +
| {{AUR|duplicati-latest}}
 +
| C#
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{R|scheduled for 2.0 release}}
 +
| {{No}}
 +
| {{Y|Pausing only}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| LGPL
 +
| Windows
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://www.nongnu.org/duplicity/ Duplicity]
 +
| [[Duplicity]]
 +
| librsync
 +
| {{G|gzip}}
 +
| {{G|gpg}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{G|Déjà Dup}}
 +
| GPL
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://www.duply.net/ Duply]
 +
| [[Duply]]
 +
| duplicity front-end
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| GPLv2
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://kde-apps.org/content/show.php/Kup+Backup+System?content=147465 Kup Backup System]
 +
| {{Pkg|kup}}
 +
| rsync, bup front-end
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{G|Immature}}
 +
| {{Yes}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{Y|bup}}
 +
| {{G|Qt}}
 +
| GPLv2
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://liw.fi/obnam/ obnam]
 +
| {{AUR|obnam}}
 
| Python
 
| Python
 
| {{Yes}}
 
| {{Yes}}
| {{G|AES}}
+
| {{G|GnuPG}}
 +
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 +
| style="text-align:center;" | ?
 
| {{Yes}}
 
| {{Yes}}
 +
| {{G|checkpoints every 100MB}}
 +
| style="text-align:center;" | ?
 
| {{Yes}}
 
| {{Yes}}
 
| {{No}}
 
| {{No}}
 +
| GPLv3
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [https://restic.github.io/ restic]
 +
| {{AUR|restic}} {{AUR|restic-git}}
 +
| Go
 +
| {{No}} [https://github.com/restic/restic/issues/21]
 +
| {{G|AES-256}} [https://github.com/restic/restic/blob/master/doc/Design.md]
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| BSD
 +
|
 
| {{Yes}}
 
| {{Yes}}
 +
|
 +
|-
 +
| [http://zbackup.org/ ZBackup]
 +
| {{AUR|zbackup}}
 +
| C++
 +
| {{G|LZMA, LZO}}
 +
| {{G|AES}}
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
 
 
| {{Yes}}
 
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{R|planned [https://github.com/zbackup/zbackup#improvements]}}
 
| {{No}}
 
| {{No}}
| BSD
+
| {{Y|Kinda through tar}}
 +
| {{Yes}}
 +
| {{No}}
 +
| GPLv2
 
|  
 
|  
 
| {{Yes}}
 
| {{Yes}}
|
+
| Repository consists of immutable files.
 +
|-
 +
! Name
 +
! Installation
 +
! Implementation
 +
! Compressed storage
 +
! Encrypted storage
 +
! Delta transfer
 +
! Encrypted transfer
 +
! FS metadata
 +
! Easy access
 +
! Resumable
 +
! Handles renames
 +
! CLI
 +
! Other interfaces
 +
! Licence
 +
! Other platforms
 +
! Active
 +
! Specificity
 +
|}
 +
 
 +
==== File-based increments ====
 +
 
 +
If a file is modified, these applications store its new version entirely at the next snapshot. Compared to [[#Chunk-based increments]] applications, these are less space-efficient, especially when large files receive small modifications; on the other hand, often the archived snapshots can be opened without the need to have the backup application installed.
 +
 
 +
'''Specific legend:'''
 +
 
 +
* '''Hard links''': whether unmodified files are stored as hard links to previous versions.
 +
 
 +
{| class="wikitable sortable"
 +
! Name
 +
! Installation
 +
! Implementation
 +
! Compressed storage
 +
! Encrypted storage
 +
! Delta transfer
 +
! Encrypted transfer
 +
! FS metadata
 +
! Easy access
 +
! Resumable
 +
! Handles renames
 +
! Hard links
 +
! CLI
 +
! Other interfaces
 +
! Licence
 +
! Other platforms
 +
! Active
 +
! Specificity
 
|-
 
|-
 
| [https://github.com/bit-team/backintime Back In Time]
 
| [https://github.com/bit-team/backintime Back In Time]
 
| [[Back In Time]]
 
| [[Back In Time]]
| python, rsync, diff
+
| Python, rsync, diff
 
| {{No}}
 
| {{No}}
 
| {{No}}
 
| {{No}}
| {{Y|?}}
+
| {{G|rsync}}
| {{G|SSH}}
+
| {{G|rsync}}
| {{Y|?}}
+
| {{G|rsync}}
| {{Y|?}}
+
| {{Yes}}
| {{Y|?}}
+
| {{No}}
| {{Y|?}}
 
| {{Y|?}}
 
 
| {{No}}
 
| {{No}}
 +
| {{G|Yes [http://backintime.le-web.org/documentation/]}}
 +
| {{Yes}}
 
| {{G|Qt}}
 
| {{G|Qt}}
 +
| GPLv2
 +
|
 +
| {{Yes}}
 +
|
 +
|-
 +
| [http://dar.linux.free.fr/ DAR] (Disk ARchive)
 +
| {{AUR|dar}}
 +
| C++
 +
| {{G|special archive format}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{R|No [http://dar.linux.free.fr/doc/Features.html]}}
 +
| {{Yes}}
 +
| {{G|DarGUI}}
 +
| GPL
 +
| Windows, Solaris, FreeBSD, NetBSD, MacOS X
 +
| {{Yes}}
 +
| Automatic backup using [[cron]] is possible with {{AUR|sarab}}{{Broken package link|{{aur-mirror|sarab}}}}.
 +
|-
 +
| [http://dargui.sourceforge.net/ DarGUI]
 +
| {{AUR|dargui}}
 +
| DAR front-end
 +
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{R|No [http://dar.linux.free.fr/doc/Features.html]}}
 +
| {{No}}
 +
| {{G|GTK}}
 
| GPL
 
| GPL
 +
| Windows
 +
| style="text-align:center;" | ?
 +
|
 +
|-
 +
| [http://miek.nl/projects/hdup2/ hdup]{{Dead link|2016|07|11}}
 +
| {{Aur|hdup}}
 +
| C
 +
| {{G|bzip, gzip, lzop}}
 +
| {{G|gpg}}
 +
| style="text-align:center;" | ?
 +
| {{G|SSH}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{No}}
 +
| {{No}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{No}}
 +
| GPLv2
 +
|
 +
| {{No}}
 +
| Multiple backup targets.
 +
|-
 +
| [http://www.scottlu.com/Content/Link-Backup.html Link-Backup]
 +
| {{AUR|link-backup}}
 +
| Python
 +
| {{No}}
 +
| {{No}}
 +
| style="text-align:center;" | ?
 +
| {{G|SSH}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{R|No [http://www.scottlu.com/Content/Link-Backup.html]}}
 +
| {{Yes}}
 +
| {{No}}
 +
| MIT
 
|  
 
|  
 +
| {{No}}
 +
| It copies itself to the server.
 +
|-
 +
| [https://github.com/miekg/rdup rdup]
 +
| {{AUR|rdup}}
 +
| C
 +
| {{G|tar.gz}}
 +
| {{G|gpg, blowfish and others}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 
| {{Yes}}
 
| {{Yes}}
|
+
| {{Yes}}
 +
| {{No}}
 +
| GPLv3
 +
|
 +
| {{No}}
 +
| Set of command-line tools.
 
|-
 
|-
| [http://sourceforge.net/projects/backerupper/ Backerupper]
+
| [http://www.rsnapshot.org/ rsnapshot]
| {{AUR|backerupper}}{{Broken package link|{{aur-mirror|backerupper}}}}
+
| [[rsnapshot]]
| ?
+
| rsync
| {{G|.tar.gz}}
 
 
| {{No}}
 
| {{No}}
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
 
| {{No}}
 
| {{No}}
 
| {{Yes}}
 
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{G|Yes [http://rsnapshot.org/rsnapshot/docs/docbook/rest.html]}}
 +
| {{Yes}}
 +
| {{No}}
 
| GPLv2
 
| GPLv2
 +
| Win32
 +
| {{Yes}}
 
|  
 
|  
 +
|-
 +
| [https://launchpad.net/sbackup sbackup]
 +
| {{AUR|sbackup}}
 +
| Python
 +
| {{G|gzip, bzip2}}
 
| {{No}}
 
| {{No}}
 +
| style="text-align:center;" | ?
 +
| {{G|SSH}}
 +
| style="text-align:center;" | ?
 +
| {{No}}
 +
| {{No}}
 +
| {{No}}
 +
| {{No}}
 +
| {{No}}
 +
| {{G|GTK}}
 +
| GPLv3
 +
|
 +
| {{Yes}}
 
|
 
|
 +
|-
 +
| [https://launchpad.net/timeshift TimeShift]
 +
| {{AUR|timeshift}}
 +
| rsync
 +
| {{No}}
 +
| {{No}}
 +
| {{G|rsync}}
 +
| {{G|rsync}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| {{No}}
 +
| {{G|GTK}}
 +
| GPLv3
 +
| Designed for full-system backups to dedicated devices.
 +
| {{Yes}}
 +
|
 +
|-
 +
! Name
 +
! Installation
 +
! Implementation
 +
! Compressed storage
 +
! Encrypted storage
 +
! Delta transfer
 +
! Encrypted transfer
 +
! FS metadata
 +
! Easy access
 +
! Resumable
 +
! Handles renames
 +
! Hard links
 +
! CLI
 +
! Other interfaces
 +
! Licence
 +
! Other platforms
 +
! Active
 +
! Specificity
 +
|}
 +
 +
=== Network oriented ===
 +
 +
These applications have been designed to centralize the backup of several machines connected to a network, through a server-client model. In general they are more complicated to deploy, compared to [[#Single machine]] solutions.
 +
 +
'''Specific legend:'''
 +
 +
* '''Control direction''': Pull: server logs into client. Push: client initiates backup session.
 +
* '''Increment type''': the strategy used to reduce used space by deduplicating data (i.e., besides compression).
 +
** '''file-based''': if a file is modified, the entire new version is stored at each snapshot.
 +
*** '''hard-links''': whether unmodified files are stored as hard links to previous versions.
 +
** '''chunk-based''': only the modified ''parts'' of files are stored at each snapshot.
 +
 +
{| class="wikitable sortable"
 +
! Name
 +
! Installation
 +
! Implementation
 +
! Control direction
 +
! Compressed storage
 +
! Encrypted storage
 +
! Delta transfer
 +
! Encrypted transfer
 +
! FS metadata
 +
! Easy access
 +
! Resumable
 +
! Handles renames
 +
! Increment type
 +
! CLI
 +
! Other interfaces
 +
! Licence
 +
! Other platforms
 +
! Active
 +
! Specificity
 
|-
 
|-
 
| [http://backuppc.sourceforge.net/index.html BackupPC]
 
| [http://backuppc.sourceforge.net/index.html BackupPC]
 
| [[BackupPC]]
 
| [[BackupPC]]
 
| Perl
 
| Perl
 +
| Pull
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
 
 
| {{No}}
 
| {{No}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
 
| {{Y|?}}
 
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
+
| {{No}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| file-based, hard links [http://backuppc.sourceforge.net/faq/BackupPC.html#Backup-basics]
 
| {{No}}
 
| {{No}}
 
| {{G|Web}}
 
| {{G|Web}}
Line 231: Line 955:
 
| Any (no client needed)
 
| Any (no client needed)
 
| {{Yes}}
 
| {{Yes}}
| 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.
+
| Identical files across backups of the same or different clients are stored only once.
 
|-
 
|-
 
| [http://www.bacula.org Bacula]
 
| [http://www.bacula.org Bacula]
| [https://aur.archlinux.org/packages/?K=bacula- bacula-*] in [[AUR]]
+
| [https://aur.archlinux.org/packages/?K=bacula bacula*] in [[AUR]]
 
| C++
 
| C++
 +
| Pull
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
+
| style="text-align:center;" | ?
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
+
| style="text-align:center;" | ?
| {{Y|?}}
+
| style="text-align:center;" | ?
| {{Y|?}}
 
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
+
| style="text-align:center;" | ?
 +
| file-based [http://burp.grke.org/why.html]
 
| {{Yes}}
 
| {{Yes}}
 
| {{G|GUI, Web}}
 
| {{G|GUI, Web}}
Line 252: Line 977:
 
|
 
|
 
|-
 
|-
| [http://borgbackup.readthedocs.org/en/stable/ BorgBackup]
+
| [http://burp.grke.org burp]
| {{Pkg|borg}}
+
| {{AUR|burp-backup}}
| Attic
+
| librsync
 +
| Push
 +
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| {{G|SSH}}
+
| style="text-align:center;" | ?
| {{Y|?}}
+
| style="text-align:center;" | ?
| {{Y|?}}
+
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| chunk-based [http://burp.grke.org/why.html]
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
+
| {{G|[https://git.ziirish.me/ziirish/burp-ui burp-ui]}}
| {{Y|?}}
+
| AGPLv3
 +
| Windows
 
| {{Yes}}
 
| {{Yes}}
 +
|
 +
|-
 +
| [http://safekeep.sourceforge.net/ SafeKeep]
 +
| {{AUR|safekeep}}
 +
| rdiff-backup
 +
| Pull
 
| {{No}}
 
| {{No}}
| BSD
+
| {{No}}
| *BSD, OS X
+
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| chunk-based [http://safekeep.sourceforge.net/safekeep.html]
 +
| {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| Local caching of files; quick detection of unmodified files.
+
| GPL
 +
|
 +
| {{No}}
 +
| Integrates with [[LVM]] and databases to create consistent backups. Bandwidth throttling.
 
|-
 
|-
| [http://viric.name/cgi-bin/btar btar]
+
| [http://www.snebu.com Snebu]
| {{AUR|btar}}{{Broken package link|{{aur-mirror|btar}}}}
+
| {{AUR|snebu}}{{Broken package link|{{aur-mirror|snebu}}}}
 
| C
 
| C
 +
| Push or Pull
 +
| {{Yes}}
 +
| {{No}}
 +
| style="text-align:center;" | ?
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| file-based [http://www.snebu.com/#_concepts]
 +
| {{Yes}}
 +
| {{No}}
 +
| GPLv3
 +
|
 +
| style="text-align:center;" | ?
 +
| Supports arbitrary retention schedules.
 +
|-
 +
| [http://www.initzero.it/portal/soluzioni/software-open-source/synbak-universal-backup-system_2623.html Synbak]
 +
| {{Pkg|synbak}}
 +
| Multitool wrapper
 +
| ?
 
| {{Yes}}
 
| {{Yes}}
 +
| {{No}}
 
| {{Yes}}
 
| {{Yes}}
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
| {{Y|?}}
 
 
| {{Yes}}
 
| {{Yes}}
 +
| {{Yes}}
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| style="text-align:center;" | ?
 +
| ?
 
| {{No}}
 
| {{No}}
 +
| {{G|Web}}
 
| GPLv3
 
| GPLv3
 
|  
 
|  
 
| {{Yes}}
 
| {{Yes}}
| Tar-compatible archiver which allows arbitrary compression and ciphering, redundancy, differential backup, indexed extraction, multicore compression, input and output serialisation, and tolerance to partial archive errors.  
+
| Unifies several backup methods.
 +
|-
 +
| [https://www.urbackup.org UrBackup]
 +
| [https://aur.archlinux.org/packages/?K=urbackup urbackup*] in [[AUR]]
 +
| C++
 +
| Pull
 +
| {{No}}
 +
| {{No}}
 +
| {{Yes}}
 +
| {{Y|Internet transfers only}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| {{Yes}}
 +
| file-based,hard-links and symlinks[http://blog.urbackup.org/156/symbolically-linking-directories-during-incremental-file-backups]/chunk-based CoW-Snapshots[http://blog.urbackup.org/83/file-backup-storage-with-btrfs-snapshots]
 +
| {{Yes}} (client)
 +
| {{G|GUI, Web}}
 +
| AGPLv3+
 +
| Windows, macOS
 +
| {{Yes}}
 +
| Identical files across backups of the same or different clients are stored only once. Integrates with LVM, dattobd and btrfs for file system snapshots.
 
|-
 
|-
 
! Name
 
! Name
 
! Installation
 
! Installation
 
! Implementation
 
! Implementation
 +
! Control direction
 
! Compressed storage
 
! Compressed storage
 
! Encrypted storage
 
! Encrypted storage
! Delta storage
+
! Delta transfer
 
! Encrypted transfer
 
! Encrypted transfer
 
! FS metadata
 
! FS metadata
! FS monitoring
 
 
! Easy access
 
! Easy access
 
! Resumable
 
! Resumable
 
! Handles renames
 
! Handles renames
 +
! Increment type
 
! CLI
 
! CLI
 
! Other interfaces
 
! Other interfaces
Line 307: Line 1,095:
 
! Other platforms
 
! Other platforms
 
! Active
 
! Active
! Notes
+
! Specificity
 
|}
 
|}
 
=== Rsync-type backups ===
 
 
==== Console ====
 
 
* {{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}}}}
 
 
* {{App|[[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/|{{Pkg|rsnapshot}}}}
 
 
* {{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}}}}
 
 
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008.
 
** 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 {{ic|.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|{{AUR|link-backup}}}}
 
 
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}
 
 
* {{App|gutbackup|The simplest rsync wrapper for backup Linux system.|https://github.com/gutenye/gutbackup|{{AUR|gutbackup}}}}
 
 
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}{{Broken package link|{{aur-mirror|trinkup}}}}}}
 
 
* {{App|keepconf|Is a wrapper over rsync and git, easy and simple to use|https://github.com/rfrail3/keepconf}}
 
 
==== Graphical ====
 
 
* {{App|[[Wikipedia:LuckyBackup|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|{{AUR|luckybackup}}}}
 
 
* {{App|Synbak|Meant to unify several backup methods in a single application while supplying a powerful reporting system.|3=http://www.initzero.it/portal/soluzioni/software-open-source/synbak-universal-backup-system_2623.html|4={{Pkg|synbak}}}}
 
 
* {{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.
 
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}{{Broken package link|{{aur-mirror|syncbackup}}}}}}
 
 
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.
 
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}
 
 
=== Other backups ===
 
 
==== Console ====
 
 
* {{App|[[Backup with hdup|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/|{{AUR|hdup}}}}
 
 
* {{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}}}}
 
 
* {{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}}}}
 
 
* {{App|[[Duply]]|Front-end for duplicity which simplifies running it by:
 
** keeping recurring settings in profiles per backup job;
 
** automated import/export of keys between profile and keyring;
 
** enabling batch operations eg. backup_verify_purge;
 
** executing pre/post scripts;
 
** precondition checking for flawless duplicity operation.
 
|http://www.duply.net/|{{AUR|duply}}}}
 
 
* {{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}}{{Broken package link|{{aur-mirror|sarab}}}}.
 
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}}{{Broken package link|{{aur-mirror|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}}{{Broken package link|{{aur-mirror|manent}}}}}}
 
 
* {{App|burp|Burp is a network backup and restore program
 
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup.
 
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.
 
** deduplication
 
** SSL/TLS connections
 
** automation the process of generating SSL certificates
 
** data encryption
 
** security models [http://burp.grke.org/txt/security-models.txt]
 
|http://burp.grke.org|{{AUR|burp-backup}}}}
 
 
* {{App|obnam|Easy, secure backup program
 
** Snapshot backups. Every generation looks like a complete snapshot.
 
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.
 
** Optionally encrypted backups, using GnuPG.
 
** FUSE mountable backup repository.
 
|http://liw.fi/obnam/|{{AUR|obnam}}}}
 
 
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]
 
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3
 
|http://www.zeroflux.org/projects|{{AUR|packrat}}{{Broken package link|{{aur-mirror|packrat}}}}}}
 
 
* {{App|Snebu|File-level deduplicating snapshot backup with SQLite3 catalog db.
 
** Functionally similar to rsync/snapshot style backups, however doesn't use hardlinks in the filesystem.
 
** Backed up files are stored in lzop-compatible files, in the designated "vault" directory.
 
** Metadata stored in SQLite3 db, linking backup sets to file metadata to compressed files in the vault.
 
** Supports arbitrary retention schedules (such as daily/weekly/monthly) which can be individually expired
 
|http://www.snebu.com|{{AUR|snebu}}{{Broken package link|{{aur-mirror|snebu}}}}}}
 
 
* {{App|ZBackup|A globally-deduplicating backup tool, based on the ideas found in rsync.
 
** Parallel LZMA or LZO compression of the stored data
 
** Built-in AES encryption of the stored data
 
** Possibility to delete old backup data
 
** Use of a 64-bit rolling hash, keeping the amount of soft collisions to zero
 
** Repository consists of immutable files. No existing files are ever modified
 
** Possibility to exchange data between repos without recompression
 
|http://zbackup.org/|{{AUR|zbackup}}}}
 
 
==== Graphical ====
 
 
* {{App|DarGUI|Graphical frontend for the Disk ARchiving utility (DAR) that aims to make it easier and quicker to perform common backup tasks using DAR.|http://dargui.sourceforge.net/|{{AUR|dargui}}}}
 
 
* {{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 GNOME Files file manager.
 
** Inherits several features of duplicity.
 
|https://launchpad.net/deja-dup|{{Pkg|deja-dup}}}}
 
 
* {{App|sbackup|Simple backup solution for Gnome desktop. All configuration is accessable via Gnome interface. File and paths can be included and excluded directly or by regex, local and remote backups supported.|https://launchpad.net/sbackup|{{AUR|sbackup}}}}
 
 
==== Console and graphical ====
 
 
* {{App|Duplicati|Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. It works with Amazon S3, Windows Live SkyDrive, Google Drive (Google Docs), Rackspace Cloud Files or WebDAV, SSH, FTP (and many more). Duplicati is open source and free.|http://www.duplicati.com/|{{AUR|duplicati-latest}}}}
 
 
=== VCS-based backups ===
 
 
See also [[Dotfiles#Version control]].
 
 
* {{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|{{Pkg|bup}} {{AUR|bup-git}}}}
 
 
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}{{Broken package link|{{aur-mirror|coldstorage-git}}}}}}
 
 
* {{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}}{{Broken package link|{{aur-mirror|gibak}}}}}}
 
 
* {{App|Kup Backup System|rsync/bup-based software for helping people to keep up-to-date backups.|3=http://kde-apps.org/content/show.php/Kup+Backup+System?content=147465|4={{Pkg|kup}}}}
 
  
 
== Cloud storage ==
 
== Cloud storage ==
  
 
=== Third-party services ===
 
=== Third-party services ===
 +
 +
{{Merge|List of applications#File sharing|Remove the extra bullet points: the Wikipedia comparison table, and the respective webpages and Wikipedia articles do a better job at describing them.}}
  
 
See also [[Wikipedia:Comparison of online backup services]].
 
See also [[Wikipedia:Comparison of online backup services]].
  
* {{App|Amazon S3|Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web service interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.|http://aws.amazon.com/s3/|{{AUR|s3cmd}}}}
+
{{Tip|{{aur|cryptomator}} is an open-source, multi-platform program designed to add client-side transparent encryption on cloud-shared files.}}
 +
 
 +
* {{App|Amazon S3|Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web service interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.|http://aws.amazon.com/s3/|{{Pkg|s3cmd}}}}
  
 
* {{App|CloudBacko|Enterprise-grade cloud backup tool for Linux, Mac and Windows.
 
* {{App|CloudBacko|Enterprise-grade cloud backup tool for Linux, Mac and Windows.
Line 510: Line 1,119:
 
** Virtual machine backup available in Pro version.
 
** Virtual machine backup available in Pro version.
 
|http://www.cloudbacko.com/}}
 
|http://www.cloudbacko.com/}}
 
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.
 
** 15GB free.
 
** Shared folders size are split between people.
 
** Daemon to sync files between the cloud and the computer.
 
** Almost any platform supported.
 
** Offers AES-256 encryption.
 
|https://www.copy.com/home/|{{AUR|copy-agent}}}}
 
  
 
* {{App|[[CrashPlan]]|An online/offsite backup solution.
 
* {{App|[[CrashPlan]]|An online/offsite backup solution.
Line 540: Line 1,141:
 
** Provides cloud storage, file sharing and collaborative editing.
 
** Provides cloud storage, file sharing and collaborative editing.
 
** Multiple clients are available.
 
** Multiple clients are available.
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), {{AUR|drive}} (free), {{AUR|grive}} (free), [[insync]] (non-free)}}
+
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), {{AUR|drive}} (free), {{AUR|grive}} (free), {{AUR|gdrivefs}} (free), [[insync]] (non-free)}}, {{AUR|gdrive}} (free)
  
 
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.
 
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.
Line 566: Line 1,167:
 
** Service for Chinese users.
 
** Service for Chinese users.
 
|http://jianguoyun.com/|{{AUR|nutstore}}}}
 
|http://jianguoyun.com/|{{AUR|nutstore}}}}
 +
 +
* {{App|OneDrive|Microsoft cloud service.
 +
|https://onedrive.com|{{AUR|onedrive-git}}}}
 +
 +
* {{App|rsync.net|Cloud storage for offsite backups.
 +
** ZFS filesystem, accessible with any SSH/SFTP/SCP tool, running on a UNIX system.
 +
** Simple rsync synchronization with daily automatic ZFS snapshots.
 +
** [http://www.rsync.net/products/attic.html Special discounted price] if used with borg or attic.
 +
|http://www.rsync.net/|[[rsync]]/[[SSH]], {{Pkg|borg}}/{{AUR|attic}}}}
  
 
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.
 
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.
Line 593: Line 1,203:
 
==== Multi-service clients ====
 
==== Multi-service clients ====
  
* {{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.
+
* {{App|[[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.
 
** Automatic, timed backup configurable in GUI.
 
** Restore wizard.
 
** Restore wizard.
Line 606: Line 1,216:
 
** Supports gzip compression.
 
** Supports gzip compression.
 
** Supports full or incremental backups, incremental backup stores only difference between new and old file.
 
** 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.
+
** Supports pushing over [http://duplicity.nongnu.org/duplicity.1.html#sect7 many protocols].
 
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}
 
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}
  
Line 617: Line 1,227:
 
|http://www.duply.net/|{{AUR|duply}}}}
 
|http://www.duply.net/|{{AUR|duply}}}}
  
* {{App|rclone|Rclone is a command line program to sync files and directories to and from Google Drive, Amazon S3, Openstack Swift / Rackspace cloud files / Memset Memstore, Dropbox, Google Cloud Storage and The local filesystem.|http://rclone.org/|{{AUR|rclone}}}}
+
* {{App|rclone|Rclone is a command line program to sync files and directories to and from Google Drive, Amazon S3, Openstack Swift / Rackspace cloud files / Memset Memstore, Dropbox, Google Cloud Storage and The local filesystem.|http://rclone.org/|{{Pkg|rclone}}}}
  
=== Cooperative ===
+
* {{App|Syncany|Cloud storage and filesharing application with a focus on security and abstraction of storage.|https://www.syncany.org/|{{AUR|syncany}}}}
 
 
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud.
 
 
 
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.
 
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).
 
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].
 
** First 10GB of backup storage is free (no contribution needed).
 
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.
 
** Automatic and incremental backups.
 
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.[http://virtualserverguy.com/blog/2012/12/19/symform-security-analysis]
 
** Customizable limits for bandwidth consumption.
 
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.
 
** Ability to have synchronized folders between nodes (Dropbox-like).
 
** Closed source, using mono. Windows clients available.
 
|http://www.symform.com/|{{AUR|symform}}{{Broken package link|{{aur-mirror|symform}}}}}}
 
  
 
=== Custom infrastructure ===
 
=== Custom infrastructure ===
  
* {{App|Cozy|A personal cloud you can hack, host and delete.|https://cozy.io|{{AUR|cozy-standalone}} {{AUR|cozy-nginx}} {{AUR|cozy-apache}}}}
+
See [[List of applications/Internet#Cloud storage servers]]
  
* {{App|[[OpenStack]]|Controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.|http://www.openstack.org/}}
+
== Version control systems ==
 
 
* {{App|[[ownCloud]]|Software suite that provides a location-independent storage area for data.|http://owncloud.org/|{{Pkg|owncloud}}}}
 
 
 
* {{App|[[Pydio]]|Mature open source web application for file sharing and synchronization.|https://pydio.com/|{{AUR|pydio}}}}
 
 
 
* {{App|[[Seafile]]|Open source cloud storage system, with advanced support for file syncing, privacy protection and teamwork.|http://seafile.com/|{{AUR|seafile-server}} {{AUR|seafile-client}} {{AUR|seafile-client-cli}} {{AUR|seafile-client-qt5}}}}
 
 
 
* {{App|StackSync|Open-source scalable Personal Cloud that can adapt to the necessities of organizations. It puts a special emphasis on security by encrypting data on the client side before it is sent to the server.|http://stacksync.org/}}
 
 
 
* {{App|Syncany|Cloud storage and filesharing application with a focus on security and abstraction of storage.|https://www.syncany.org/|{{AUR|syncany}}}}
 
 
 
== Distributed file systems ==
 
 
 
{{Merge|File systems|Somebody knowledgeable on clustered/distributed file systems should consider the merge. This section should at least be linked from [[File systems]] anyway.}}
 
 
 
{{Accuracy|Is the section heading correct? Is this a too heteregenous group of software pieces?}}
 
 
 
* {{App|[[Ceph]]|Distributed object store and file system designed to provide excellent performance, reliability and scalability.|https://ceph.com/|{{Pkg|ceph}}}}
 
 
 
* {{App|GlusterFS|Cluster file system capable of scaling to several peta-bytes.|http://www.gluster.org/|{{Pkg|glusterfs}}}}
 
 
 
* {{App|[[Network File System]]|Distributed file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed.|http://nfs.sourceforge.net/|{{Pkg|nfs-utils}}}}
 
 
 
* {{App|[[Samba]]|Free software re-implementation of the SMB/CIFS networking protocol. The name Samba comes from SMB (Server Message Block), the name of the standard protocol used by the Microsoft Windows network file system.|https://www.samba.org/|{{Pkg|samba}}}}
 
 
 
* {{App|Sheepdog|Distributed object storage system for volume and container services and manages the disks and nodes intelligently.|https://sheepdog.github.io/sheepdog/}}
 
 
 
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.
 
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}
 
 
 
== Data cloning ==
 
 
 
{{Merge|Disk cloning#Disk cloning software}}
 
 
 
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.
 
 
 
See also [[Disk cloning]].
 
 
 
* {{App|[[Wikipedia:Areca Backup|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/|{{AUR|areca}}}}
 
 
 
* {{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/|{{Pkg|clonezilla}}}}
 
 
 
* {{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}}{{Broken package link|{{aur-mirror|sarab}}}}.
 
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}}{{Broken package link|{{aur-mirror|kdar}}}} (fontend)}}
 
  
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool
+
{{Merge|List_of_applications#Work_environment|Also drop the extra bullets, the Wikipedia comparison table is much better than this.}}
** 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}}}}
 
 
 
* {{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.org/|{{Pkg|partclone}}}}
 
 
 
* {{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|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|[[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/}}
 
 
 
* {{App|System Tar & Restore|Backup and Restore your system using tar or Transfer it with rsync
 
** CLI and Dialog interfaces
 
** Easy backup and restore wizards
 
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives
 
** Supports openssl / gpg encryption
 
** Uses rsync to transfer a running system
 
** Supports Grub2, Syslinux, EFISTUB/efibootmgr and Systemd/bootctl
 
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}
 
 
 
== Version control 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.
Line 763: Line 1,243:
 
See also [[Wikipedia:Comparison of revision control software]].
 
See also [[Wikipedia:Comparison of revision control software]].
  
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.
+
* {{App|[[Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.
 
** Similar commands to Subversion.
 
** Similar commands to Subversion.
 
** Supports working with or without a central server.
 
** Supports working with or without a central server.
Line 770: Line 1,250:
 
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}
 
|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.
+
* {{App|Darcs|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.
 
** Offline mode.
 
** Offline mode.
 
** Easy branching and merging.
 
** Easy branching and merging.
Line 802: Line 1,282:
 
* [[Wikipedia:List of backup software]]
 
* [[Wikipedia:List of backup software]]
 
* [[Wikipedia:Comparison of backup software]]
 
* [[Wikipedia:Comparison of backup software]]
 +
* [https://github.com/restic/others Exhaustive list of backup solutions for Linux]
 
* [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]
 
* [http://www.si-journal.org/index.php/JSI/article/view/205 Performance comparison of five remote incremental backup tools: Rsync, Rdiff-backup, Duplicity, Areca and Link-Backup]
 
* [http://www.si-journal.org/index.php/JSI/article/view/205 Performance comparison of five remote incremental backup tools: Rsync, Rdiff-backup, Duplicity, Areca and Link-Backup]
 +
* [http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/ rsync-snapshot.sh] — Local and remote snapshot backup using rsync with hard links

Revision as of 07:17, 11 August 2017

This page lists and compares applications that synchronize data between two or more locations, and those that build on top of such functionality to make incremental copies of important data for backup purposes. Because of their relationship, the two groups share several traits that justify describing them in the same article.

Backup overview

Having backups of important data is a necessary measure to take, since human and machine processing errors are very likely to generate corruption as time passes, and also the physical media where the data is stored is inevitably destined to fail. In order to choose the best program for one's own needs, the following aspects should be considered:

  • The type of backup medium that is going to store the data, e.g. CD, DVD, remote server, external hard drive, etc.
  • The planned frequency of backups, e.g. daily, weekly, monthly, etc.
  • The features expected from the backup solution, e.g. compression, encryption, handles renames, etc.
  • The planned method to restore backups if needed.

Data synchronization

These applications simply keep directories synchronized between multiple locations/machines, in a "mirror" fashion. Nonetheless, most of them still allow storing and reverting to old revisions of modified or deleted files.

See also Wikipedia:Comparison of file synchronization software.

Legend:

  • Name: the application name, linking to the official website.
  • Installation: a link to the main ArchWiki article, if existing, or directly to the package pages.
  • Implementation: the programming language, library, or utility that the application is based on.
  • Delta transfer: only the modified parts of files are transferred.
  • Encrypted transfer: data is encrypted by default when transferred over the network.
  • FS metadata: file system permissions and attributes are synchronized.
  • Resumable: the synchronization can be resumed without restarting it if interrupted.
  • Handles renames: moved/renamed files are detected and not stored or transferred twice. It typically means that a checksum of files or its chunks is computed.
  • Version control: the old version of files are backed up (reverse incremental backup).
  • Change propagation: specifies in how many directions changes can be propagated. Unidirectional means one-way synchronization of two locations, bidirectional means two-way synchronization of two locations and multidirectional means full synchronization of more than two locations.
  • Conflict resolution: the application handles file conflicts, either automatically or interactively, i.e. it does not silently discard conflicting files. This attribute does not apply to applications that only propagate changes in one direction.
  • FS monitoring: the application listens to file system events to trigger the synchronization.
  • CLI: the application is command-line driven, i.e. it is scriptable.
  • Other interfaces: the application has the specified user interfaces, e.g. GUI, TUI, or web-based.
  • License: the license of the server and client applications.
  • Other platforms: supported operating systems other than Linux.
  • Active: whether the project is currently maintained.
  • Specificity: brief notes about special features that notably set the application apart from the others.
Name Installation Implementation Delta transfer Encrypted transfer FS metadata Resumable Handles renames Version control Change propagation Conflict resolution FS monitoring CLI Other interfaces License Other platforms Active Specificity
Resilio Sync (formerly BitTorrent Sync) Resilio Sync Closed source Yes Yes, also LAN transfer encryption option ? Yes ? Yes, previous versions moved to archive folder multidirectional ? ? No Web Proprietary freemium OS X, Windows, Android, iOS, Windows Phone, Amazon Kindle Fire, FreeBSD Yes P2P sync
FreeFileSync freefilesyncAUR C++ ? SFTP [1] ? ? Yes [2] Yes [3] unidirectional n/a ? No Yes GPL Windows, OS X Yes
git-annex git-annex Haskell, git rsync [4] rsync [5] ? ? ? Yes multidirectional; with git remotes [6] renames conflicting files [7] ? Yes git-annex assistant GPLv3 OS X, Android Yes Manage files with git
Grsync grsync rsync front-end rsync rsync ? ? ? ? unidirectional n/a ? No GTK+ GPLv2 ?
gutbackup gutbackupAUR rsync wrapper rsync rsync ? ? ? ? unidirectional n/a ? Yes No MIT ?
Jotasync jotasyncAUR Java gui for rsync rsync rsync ? ? ? ? unidirectional n/a ? limited Swing Apache v2 OS X, Windows Yes Integrated scheduler.
luckyBackup luckybackupAUR C++ rsync [8] rsync [9] ? ? ? Yes unidirectional n/a ? limited [10] Qt GPLv3 frozen [11]
osync.sh osyncAUR Shell rsync rsync ? Yes No Yes bidirectional keeps multiple versions of a file [12] optional [13] Yes No BSD Yes
rdiff-backup rdiff-backup Python 2 Yes Yes Yes ? No Yes unidirectional n/a No Yes No GPL Win32 ?
rsync rsync C Yes SSH or native protocol Yes Yes No
  • --link-dest with hard links [14]
  • --backup
unidirectional n/a No Yes grsync GPLv3 Win32 Yes Standard tool present on all Linux distributions.
SparkleShare sparkleshare C# ? ? ? ? ? ? ? ? ? No Yes GPLv3 Windows, OS X ?
Syncthing Syncthing Go Yes [15] Yes [16] partial [17] Yes ? Yes [18], previous versions moved to archive folder multidirectional renames one file [19] Yes with syncthing-inotify Yes Web, GTK MPL v2 Windows, OS X, Android, BSD, Solaris, Kindle Paperwhite Yes P2P sync
Synkron synkronAUR C++ ? ? ? ? ? ? multidirectional ? ? No Qt GPLv2 Windows, OS X No
taskd Taskd C++, python, Yes Yes ? Yes ? ? multidirectional ? No Yes No MIT Android Yes
Unison Unison OCaml Yes Yes partial [20] optional [21] No Yes [22] bidirectional interactive No Yes GTK2 GPL Windows, OS X, FreeBSD, Android Yes [23]
Name Installation Implementation Delta transfer Encrypted transfer FS metadata Resumable Handles renames Version control Change propagation Conflict resolution FS monitoring CLI Other interfaces License Other platforms Active Specificity

Incremental backups

Applications that can do incremental backups remember and take into account what data has been backed up during the last run (so-called "diffs") 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.

See also Dotfiles#Version control.

Legend:

  • Name: the application name, linking to the official website.
  • Installation: a link to the main ArchWiki article, if existing, or directly to the package pages.
  • Implementation: the programming language, library, or utility that the application is based on.
  • Compressed storage: compression is used for storage.
  • Encrypted storage: encryption is used for storage.
  • Delta transfer: only the modified parts of files are transferred.
  • Encrypted transfer: data is encrypted by default when transferred over a network.
  • FS metadata: file system permissions and attributes are backed up.
  • Easy access: the backup is stored plainly in the file system, or is mountable as such.
  • Resumable: the backup can be resumed without restarting it if interrupted.
  • Handles renames: moved/renamed files are detected and not stored or transferred twice; it typically means that a checksum is computed for files or chunks thereof.
  • CLI: the application is command-line driven, i.e. it is scriptable.
  • Other interfaces: the application has the specified user interfaces, e.g. GUI, TUI, or web-based.
  • Licence: the licence of the server and client applications.
  • Other platforms: supported operating systems other than Linux.
  • Active: whether the project is currently maintained.
  • Specificity: brief notes about special features that notably set the application apart from the others.

Single machine

These applications are aimed at backing up data from the machine they are installed on, although the backup destination can be located on an external machine or storage media.

Chunk-based increments

If a file is modified, these applications store only its changed parts at the next snapshot. Compared to #File-based increments applications, these are more space-efficient, especially when large files receive small modifications; on the other hand, the archived snapshots have to be opened with the backup application that created them, since the files have to be reconstructed from the stored binary diffs.

Name Installation Implementation Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames CLI Other interfaces Licence Other platforms Active Specificity
Areca Backup arecaAUR Java Zip, Zip64 AES128, AES256 Yes Yes Yes No Pausing only No Yes Yes GPLv2 Windows Yes
BorgBackup borg Python (Attic fork) lz4, zlib, lzma AES256 Yes SSH Yes[24] Yes[25] Yes[26] Yes Yes third party BSD *BSD, OS X Yes
btar btarAUR[broken link: archived in aur-mirror] C Yes Yes Yes Yes ? No ? ? Yes No GPLv3 Yes Redundancy, indexed extraction, multicore compression, input and output serialisation, tolerance to partial archive errors.
bup bup bup-gitAUR C, Python, git Yes No Yes Yes Immature Yes[27] pick up where you left off [28] Yes Yes third party GPLv2 Windows, OS X, NetBSD, Solaris Yes Same storage format as git
bups bupsAUR bup frontend Yes No Yes Yes Immature Yes pick up where you left off [29] Yes Yes GTK 3 MIT Yes
Déjà Dup Déjà Dup duplicity front-end Yes Yes Yes Yes ? No Yes No Yes GTK+ GPLv3 Yes Integrated into GNOME Files.
Duplicati duplicati-latestAUR C# Yes Yes Yes Yes scheduled for 2.0 release No Pausing only No Yes Yes LGPL Windows Yes
Duplicity Duplicity librsync gzip gpg Yes Yes ? No Yes No Yes Déjà Dup GPL Yes
Duply Duply duplicity front-end Yes Yes Yes Yes ? No Yes No Yes No GPLv2 Yes
Kup Backup System kup rsync, bup front-end Yes Yes Yes Yes Immature Yes No Yes bup Qt GPLv2 Yes
obnam obnamAUR Python Yes GnuPG Yes Yes ? Yes checkpoints every 100MB ? Yes No GPLv3 Yes
restic resticAUR restic-gitAUR Go No [30] AES-256 [31] ? Yes ? ? ? ? ? ? BSD Yes
ZBackup zbackupAUR C++ LZMA, LZO AES Yes Yes ? planned [32] No Kinda through tar Yes No GPLv2 Yes Repository consists of immutable files.
Name Installation Implementation Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames CLI Other interfaces Licence Other platforms Active Specificity

File-based increments

If a file is modified, these applications store its new version entirely at the next snapshot. Compared to #Chunk-based increments applications, these are less space-efficient, especially when large files receive small modifications; on the other hand, often the archived snapshots can be opened without the need to have the backup application installed.

Specific legend:

  • Hard links: whether unmodified files are stored as hard links to previous versions.
Name Installation Implementation Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames Hard links CLI Other interfaces Licence Other platforms Active Specificity
Back In Time Back In Time Python, rsync, diff No No rsync rsync rsync Yes No No Yes [33] Yes Qt GPLv2 Yes
DAR (Disk ARchive) darAUR C++ special archive format Yes ? Yes ? ? ? ? No [34] Yes DarGUI GPL Windows, Solaris, FreeBSD, NetBSD, MacOS X Yes Automatic backup using cron is possible with sarabAUR[broken link: archived in aur-mirror].
DarGUI darguiAUR DAR front-end Yes Yes ? Yes ? ? ? ? No [35] No GTK GPL Windows ?
hdup[dead link 2016-07-11] hdupAUR C bzip, gzip, lzop gpg ? SSH ? No No No No Yes No GPLv2 No Multiple backup targets.
Link-Backup link-backupAUR Python No No ? SSH ? ? Yes Yes No [36] Yes No MIT No It copies itself to the server.
rdup rdupAUR C tar.gz gpg, blowfish and others ? ? ? Yes ? No Yes Yes No GPLv3 No Set of command-line tools.
rsnapshot rsnapshot rsync No No Yes Yes ? ? ? ? Yes [37] Yes No GPLv2 Win32 Yes
sbackup sbackupAUR Python gzip, bzip2 No ? SSH ? No No No No No GTK GPLv3 Yes
TimeShift timeshiftAUR rsync No No rsync rsync ? ? ? ? Yes No GTK GPLv3 Designed for full-system backups to dedicated devices. Yes
Name Installation Implementation Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames Hard links CLI Other interfaces Licence Other platforms Active Specificity

Network oriented

These applications have been designed to centralize the backup of several machines connected to a network, through a server-client model. In general they are more complicated to deploy, compared to #Single machine solutions.

Specific legend:

  • Control direction: Pull: server logs into client. Push: client initiates backup session.
  • Increment type: the strategy used to reduce used space by deduplicating data (i.e., besides compression).
    • file-based: if a file is modified, the entire new version is stored at each snapshot.
      • hard-links: whether unmodified files are stored as hard links to previous versions.
    • chunk-based: only the modified parts of files are stored at each snapshot.
Name Installation Implementation Control direction Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames Increment type CLI Other interfaces Licence Other platforms Active Specificity
BackupPC BackupPC Perl Pull Yes No Yes Yes Yes No Yes ? file-based, hard links [38] No Web GPLv2 Any (no client needed) Yes Identical files across backups of the same or different clients are stored only once.
Bacula bacula* in AUR C++ Pull Yes Yes ? Yes ? ? Yes ? file-based [39] Yes GUI, Web AGPLv3 Windows, OS X Yes
burp burp-backupAUR librsync Push Yes Yes Yes Yes ? ? ? ? chunk-based [40] Yes burp-ui AGPLv3 Windows Yes
SafeKeep safekeepAUR rdiff-backup Pull No No ? Yes ? ? ? ? chunk-based [41] Yes Yes GPL No Integrates with LVM and databases to create consistent backups. Bandwidth throttling.
Snebu snebuAUR[broken link: archived in aur-mirror] C Push or Pull Yes No ? Yes ? ? ? ? file-based [42] Yes No GPLv3 ? Supports arbitrary retention schedules.
Synbak synbak Multitool wrapper ? Yes No Yes Yes Yes ? ? ? ? No Web GPLv3 Yes Unifies several backup methods.
UrBackup urbackup* in AUR C++ Pull No No Yes Internet transfers only Yes Yes Yes Yes file-based,hard-links and symlinks[43]/chunk-based CoW-Snapshots[44] Yes (client) GUI, Web AGPLv3+ Windows, macOS Yes Identical files across backups of the same or different clients are stored only once. Integrates with LVM, dattobd and btrfs for file system snapshots.
Name Installation Implementation Control direction Compressed storage Encrypted storage Delta transfer Encrypted transfer FS metadata Easy access Resumable Handles renames Increment type CLI Other interfaces Licence Other platforms Active Specificity

Cloud storage

Third-party services

Merge-arrows-2.pngThis article or section is a candidate for merging with List of applications#File sharing.Merge-arrows-2.png

Notes: Remove the extra bullet points: the Wikipedia comparison table, and the respective webpages and Wikipedia articles do a better job at describing them. (Discuss in Talk:Synchronization and backup programs#)

See also Wikipedia:Comparison of online backup services.

Tip: cryptomatorAUR is an open-source, multi-platform program designed to add client-side transparent encryption on cloud-shared files.
  • Amazon S3 — Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web service interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.
http://aws.amazon.com/s3/ || s3cmd
  • CloudBacko — Enterprise-grade cloud backup tool for Linux, Mac and Windows.
    • Closed source. Free, Lite and Pro versions available.
    • Written in Java.
    • Encrypted backup to multiple cloud destinations.
    • Supports multiple cloud destinations combined as one storage pool.
    • No installation required in Free version.
    • GUI frontend for Linux in Pro version.
    • Virtual machine backup available in Pro version.
http://www.cloudbacko.com/ || not packaged? search in AUR
  • 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 free for local use.
    • Restore prevents simultaneous backing up
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.dropbox.com || dropboxAUR nautilus-dropboxAUR
  • Google Drive — A file storage and synchronization service provided by Google.
    • Provides cloud storage, file sharing and collaborative editing.
    • Multiple clients are available.
https://drive.google.com || google-drive-ocamlfuseAUR (free), driveAUR (free), griveAUR (free), gdrivefsAUR (free), insync (non-free), gdriveAUR (free)
  • iDrive — Universal Online Backup.
    • Multiple Device Backup.
    • Online File Sync.
    • Real-Time Backup.
    • Backup and Access from Mobile Devices.
    • Remote Manage.
    • No GUI Front end for Linux, command line based. A wrapper script is available to make it easier to use.
https://www.idrive.com/ || idevsutilAUR[broken link: archived in aur-mirror], idrive-wrapperAUR[broken link: archived in aur-mirror]
  • Jungle Disk — An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.
    • A GNOME Files extension.
    • Only paid plans available.
http://www.jungledisk.com/ || nautilus-junglediskAUR[broken link: archived in aur-mirror]
  • MEGA — Successor to the MegaUpload file-sharing service.
    • Free accounts are 50GB with paid plans available for more space.
    • Offers encryption and de-duplication.
    • Usually accessed through its web interface but other tools exist.
https://mega.co.nz || megatoolsAUR, megasyncAUR, megafuseAUR[broken link: archived in aur-mirror]
  • Nutstore — A cloud service that lets you sync and share files anywhere.
    • Multiple file folders sync.
    • Service for Chinese users.
http://jianguoyun.com/ || nutstoreAUR
  • OneDrive — Microsoft cloud service.
https://onedrive.com || onedrive-gitAUR
  • rsync.net — Cloud storage for offsite backups.
    • ZFS filesystem, accessible with any SSH/SFTP/SCP tool, running on a UNIX system.
    • Simple rsync synchronization with daily automatic ZFS snapshots.
    • Special discounted price if used with borg or attic.
http://www.rsync.net/ || rsync/SSH, borg/atticAUR
  • SpiderOak — An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.
    • Free account holds 2GB as a 60-day trial.
    • Includes file sharing and a public directory.
    • Incremental backup and sync are both supported.
https://spideroak.com/ || spideroak-oneAUR
  • Storage Made Easy — Provides unified access to numerous cloud storage services, as well as its own storage.
    • Free and paid version available.
    • Free account holds 5GB and allows access to up to three other cloud storage providers.
    • Supports local directory via fuse, as well as web access.
    • Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.
http://storagemadeeasy.com/ || smestorageAUR[broken link: archived in aur-mirror]
  • 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
  • Yandex Disk — Free cloud storage service created by Yandex.ru that gives you access to your photos, videos and documents from any internet-enabled device.
https://disk.yandex.ru/ || yandex-diskAUR

Multi-service clients

  • 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 GNOME Files file manager.
    • Inherits several features of duplicity.
https://launchpad.net/deja-dup || deja-dup
  • Duplicati — Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. It works with Amazon S3, Windows Live SkyDrive, Google Drive (Google Docs), Rackspace Cloud Files or WebDAV, SSH, FTP (and many more). Duplicati is open source and free.
http://www.duplicati.com/ || duplicati-latestAUR
  • 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 many protocols.
http://www.nongnu.org/duplicity/ || duplicity
  • Duply — Front-end for duplicity which simplifies running it by:
    • keeping recurring settings in profiles per backup job;
    • automated import/export of keys between profile and keyring;
    • enabling batch operations eg. backup_verify_purge;
    • executing pre/post scripts;
    • precondition checking for flawless duplicity operation.
http://www.duply.net/ || duplyAUR
  • rclone — Rclone is a command line program to sync files and directories to and from Google Drive, Amazon S3, Openstack Swift / Rackspace cloud files / Memset Memstore, Dropbox, Google Cloud Storage and The local filesystem.
http://rclone.org/ || rclone
  • Syncany — Cloud storage and filesharing application with a focus on security and abstraction of storage.
https://www.syncany.org/ || syncanyAUR

Custom infrastructure

See List of applications/Internet#Cloud storage servers

Version control systems

Merge-arrows-2.pngThis article or section is a candidate for merging with List_of_applications#Work_environment.Merge-arrows-2.png

Notes: Also drop the extra bullets, the Wikipedia comparison table is much better than this. (Discuss in Talk:Synchronization and backup programs#)

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.

See also Wikipedia:Comparison of revision control 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/ || 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/ || darcs
  • 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
  • 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
  • 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

See also