Backup

From Freehackers
Jump to: navigation, search

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:

  1. network based (as opposed to cardridge, disks..)
  2. Data encrypted on the source (so that the remote storage only contain encrypted data). "No trust on the remote storage".
  3. secure transport (ssh) (less important if the previous point is met)
  4. support incremental backup
  5. easy to include/select files to be backed up, to know where gigabytes come from. Gui?
  6. can be used without GUI (for servers)
  7. free software
  8. provide "point-in-time" recovery


Boxbackup (wikipedia)

Currently (end of 2010) being tested by orzel.

It seems alive

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:

bad:

Duplicity

Used by orzel.

Pros:

Cons:

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:

Cons:

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

Cons:

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

Cons:

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:

cons:

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

Pro:

Cons:

Brackup

I haven't had time yet to review carefully this one

Pros:

Cons:

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

cons


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

  1. possible to store backup remotely
  2. encrypted stream
  3. nice GUI
  4. 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

Cons:

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:

Cons:

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:

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

Cons:

Personal tools
Namespaces
Variants
Actions
fh network
Freehackers
Navigation
Toolbox