Backup
See also http://en.wikipedia.org/wiki/Category:Free_backup_software
Note that rsync is a very good synchronization tool, but is not a backup solution. It can not roll back to a previous version of a file and provides no encryption.
Contents |
Computer/Server Solutions
See also http://boxbackup.org/trac/wiki/BoxComparison
Our criteria are:
- network based (as opposed to cardridge, disks..)
- Data encrypted on the source (so that the remote storage only contain encrypted data). "No trust on the remote storage".
- secure transport (ssh) (less important if the previous point is met)
- support incremental backup
- easy to include/select files to be backed up, to know where gigabytes come from. Gui?
- can be used without GUI (for servers)
- free software
- provide "point-in-time" recovery
Boxbackup (wikipedia)
Currently (end of 2010) being tested by orzel.
It can use some kind of raid-userspace-thinguy to do the same as raid but on a higher level, on top of filesystem.
There was a gui, using wxWidgets, not in gentoo as of november 2010, which seems abandoned. There's also a web gui written in python.
good:
- Designed for network (not tapes) and with encryption from the start.
- documentation seems ok
- minimalist configuration and changes on every computer.
- nice exclude stuff based on regexp
- rsync-like optimization, but keeps history.
- for big enough files, it tracks them and notice when they are moved. So that 'mv big big2', will not trigger the whole file to be sent again.
- continuous backup
bad:
- no irc
- the project does not seem very alive
- it is either difficult to install or badly supported by gentoo
- retrieving files, especially old or deleted ones is difficult, done through a very rough text interface.
- not 'point-in-time' recovery. They are more or less working on it
- hard to know what is included/excluded, or where the gigabytes come from
Duplicity
Used by orzel.
Pros:
- does encryption from the client (gnupg)
- incremental (uses librsync)
- transport through ssh (encryption + convenience of keys)
Cons:
- It's hard to specify exclude/include dir
- even harder to check for the amount of data the current setting corresponds to
backuppc
(used by Benoit). It aims at backup of lot of similar PCs on a local network. Everything is done FROM the backup PC, only requiring ssh/rsync to be installed on backed up PCs.
Pros:
- there is a web user interface, a lot better than bacula
- same files present on different PCs are stored only once, with hardlinks
- rsync-like optimization
Cons:
- written in perl
- the backup server keeps ssh keys for all pc -> high security concern for me (orzel)
- only one place where backup are stored, and it needs to be a single partition (hard links)
- no encryption
- the server need to be able to reach every client, the communication is not started from the client. This doesn't work (easily) when clients are behind firewalls.
rsnaphot
Similar approcah as rdiff-backup mikmak once used something similar, although not exactly rsnapshot.
This is a script based on rsync, though it stores delta, so that you can actually restore deleted/old content. Even though rewritten since the original (hacky?) script, it's still done in Perl (irk) on top of rsync.
Pros
- transport on ssh
Cons:
- written in perl
- no encryption on remote device
- no easy include/select
rdiff-backup
Similar to rsnapshot. This is a script based on librsync, though it stores delta, so that you can actually restore deleted/old content.
Pros
- transport on ssh
- written in python
- some people mentionned that its best advantage is a high compatibility even with very old versions.
Cons:
- no encryption on remote device
- no easy include/select
Amanda (wikipedia)
Amanda is specifically designed to backup a lot of clients onto one big server ("single master backup server to back up multiple hosts over network").
Doc cite 'excluding' and 'server-side-gpg-encrypted backups'
Seems oriented more toward storage device backup, less toward network, although the website is titled "Amanda Network Backup". Contrary to the outdated boxbackup comparison (linked at the beginning of the page), amanda can now handle encryption.
Pros:
- has graphics
cons:
- You need (free) registration for some of the doc!
- very complicated setup
rdup
Heavily based on other (unix-)tools to do the work. It's not ready-to-use, but can provide a good basis to a custom-made solution.
"rdup will only print a list of files that are changed/removed since the last time rdup ran.". Several (example) scripts are provided to do something useful with this list, such as tar/compress/encrypt and copy on a remote location.
Bacula
- It has been tested by orzel for more than a year with two fd, three sd and one dir. I'm really dissapointed, it's really difficult to configure, to maintain, to encrypt, to know what happens....
- Does support encryption
- there are several guis (console,wx,gnome,web, evenqt?)
- web interface, thought not yet in gentoo
Pro:
- powerful
- great pdf/html documentation
- nice separation of master, storage daemon(where to store) and file daemon(where to backup from)
Cons:
- really designed for tapes, not network
- very hard to configure and maintain
- i've never had any answer on the irc channel
- can't do 'simple' data encryption (symmetric password for ex.). Configuration of this is hard.
- (gui/text) interface hard to understand
- only "Most of the Bacula source code is released under the GPL version 2 license."
- bat (qt-based gui) sucks and is only a (bad) frontend on top of the text-based command line interface
Brackup
I haven't had time yet to review carefully this one
Pros:
- it does encrypt before sending
- alive
Cons:
- written in perl
- homepage scarse, it seems as a very early snapshot.
cumulus
Not really mainstream. It's aiming at backup on cloud services, so requires the minimal for storage (push,pull). Explicitely mentions it's like duplicity,boxbackup and brackup.
Pros
- it does encrypt before sending
- rsync-like optimization for storage/bandwidth.
cons
- not in gentoo, and very poor presence on the web
- development has stopped in june, 2010
Databases
xtrabackup
It's only half-open-source though. Seems to be the preferred way of doing hot-backup with mysql/innodb. You really should not do filesystem based backup of innodb files.
Partition/filesystem
Partimage
Partimage is a 'disk cloning' utility, not only geared toward backups. It needs to know the filesystem structure, though.
Mondo Rescue
Backup whole partitions, but need to know/be aware of the file system.
CloneZilla
"bar metal" : works at the block level of hard disk, kinda similar to online/continue ghosts.
Online Solutions
We keep the main criteria such as encrypted transfer and storage, but require that the encryption is done by the client, with keys generated on the client, so that the online service has no way of knowing what's stored there. I dont want 'online browsing' of my data or anything that require the provider to be able to access to what i'm storing.
Crashplan
Works with java, so probably not meeting criteria 6
http://www.linuxlinks.com/article/20101023105127302/CrashPlan.html
Has an interesting feature when you can use it between your own computer, not using their storage space.
Spideroak
"zero knowledge policy": they explictely say that "not even SpiderOak employees can access the data". Though on demo videos, we can see that files/directory names are not encrypted, probably only the content.
The gui provide a include/exclude tree stuff. Probably not usable on a server because of the gui.
Wuala
Works with java, so probably not meeting criteria 6
They explicitely say that "Even the employees at Wuala or LaCie do not have access to your private data".
Ubuntu One
The data is not encrypted on the storage, not meetint criteria 2
Dropbox
Often cited in online backup solutions, but it's rather a online storage solution. It doesn't encrypt data on their server, so you have to trust them.
Local personal backup
Those solutions are mainly for single-user, often highly influenced by Apple's Time machine. Our criteria are
- possible to store backup remotely
- encrypted stream
- nice GUI
- free software
Duplicati (wikipedia)
It's written with C# and is supposed to bring the "Unix-only" duplicty to all platform. It's also bringing a GUI, and i guess that it's not usable as command line as a result. The restore interface is said to be great. I'm not sure how 'compatible' it is with duplicity. Everything is done from the client, server is any kind of storage (ftp/ssh/S3...).
Pro
- encryption/signing as duplicity
- very nice demo on youtube
Cons:
- C#
- Gui-only
- not in gentoo, not even on any overlay or webpage
areca
It supports encryption and lot of other interesting stuff. It is written in java and has a GUI. As of november 2010 it's still not in gentoo (though there's an issue about it) nor on any other distribution but ubuntu. Pros:
- nice file browser with directory sizes
- nice simulation mode
- nice 'filter' thing, you can exclude files, directories, regexp..
- support storing backups on a remote computer through ftp/ftps
Cons:
- labelled "personal"
- the gentoo bug ticket mentions it's very difficult to install/compile.
kbackup
No encryption, full gui (can't be used with cron on servers), (using version 0.7) i could not have it make an incremental backup, though it's supposed to be possible.
The GUI is great for adding/removing parts of the tree and create a incluide/exclude list such as :
M /home/save/tests P S 0 R 0 F 1 C 0 Z 0 I /home/orzel/.kde4 I /home/orzel/bin I /home/orzel/fac/These I /home/orzel/share E /home/orzel/.kde4/share/apps E /home/orzel/.kde4/share/config/session
Backup manager
No encryption. cli, clean backup after some time, can do incremental.
Handle ssh/ftp/rsync for upload, and handle svn/mysql in a dedicated way
Available in Gentoo (http://www.backup-manager.org/).
Cited in linuxfr
Cons:
- No encryption :-(
- Written in bash and perl
TimeVault
Typical 'local personal backup' solution based on hard links stuff. Present in gentoo (app-backup/timevault).
Flyback
Yet another 'local personal backup' solution based on rsync-style stuff. Not present in gentoo.
DirSync Pro
Doesn't do network. Not present in gentoo.
luckyBackup
Can do network, but does not encrypt data on the remote location. Present in gentoo (app-backup/luckybackup). Provides a useful "dry-run" feature to check what will be done.
pybackpack
Frontend for rsync-diff based on python/gtk. Said to provide a "nice" GUI to exclude files. untested. I dont know about network or encryption. Present in gentoo (app-backup/pybackpack).
fwbackups
Based on python, i dont know about the backend. The next version will be be done using c++/Qt4/cmake. Can store remotely, and it uses pycrypto so there must be some crypto somewhere. Not present in gentoo
Déjà Dup
Frontend for duplicity. Not present in gentoo. One of the few 'personal backup' tools providing encryption.
Back in Time
Fontend for rsync. Not in gentoo.
Old/obsolete/unmaintained ones
FlexBackup
Present itself as a something between between 'tar' and 'amanda' Can do incremental.
As of nov 2010, the last release is still oct 10, 2003
Keep(KDE)
KDE graphical interface based on rdiff-backup Only handle local directories. Is small and only for 'local personal backup'.
Officially unmaintained.
hdup, hdup2, hdup16 and others
cron based, support for .nobackup
According to boxbackup, does not handle rsync-kind optimizations.
Officially unmaintained, the author switched to develop and use rdup.
Distributed Internet Backup System (DIBS)
Python tool. Use some fun algorithm to spread data among peers so that only a % of that is needed for recovery. Use python for transport, not ssh.
Pros
- specifically aimed at network, not tapes
- data is encrypted on the local computer (gpg) before sending/storing.
- written in python
Cons:
- last release on may 2006
- use CVS
- no rsync-like optimization