**I still haven't found the perfect backup solution for a Linux desktop. This page reports my findings.**
**Update: deja-dup is still not the perfect backup solution, but it is close. At least, I can tell my relatives to use it, though in case of needed restore they might need my help.**
But first, a list of my requirements, since yours may differ:
* graphical interface, since my non-hacker relatives must be able to use it easily ((Though I've been pointed at cron-based solutions as the ones providing less hassle for unexpert users, I do not share this view since unexperted users may be perfectly able to plug in a USB hard disk and pretend that //at that time// a backup occurs, and they can unplug the USB hard disk at the end.)) preferably gtk-based
* ability to backup through smb
* ability to browse backups and restore single files
* possibility to include/exclude single folders/file types/path patterns
I consider the following as nice bonuses:
* scheduling
* profiles to allow for different schedules and/ or chosen directories/files
I admit it: I'm just looking for something like Apple Time Machine, OK?
Here are the evaluations I made (in green and red, positive and negative aspects that I consider particularly relevant in the comparison):
| ^ [[http://backintime.le-web.org|backintime]] ^ [[http://code.google.com/p/flyback|flyback]] ^ [[https://launchpad.net/deja-dup|deja-dup]] ^ [[http://sourceforge.net/projects/sbackup|simple backup]] ^ [[https://wiki.ubuntu.com/TimeVault|timevault]] ^ [[http://www.diffingo.com/oss/fwbackups/|fwbackup]] ^ [[http://projects.sucs.org/projects/pybackpack/wiki/ScreenShots|pybackpack]] ^
^ GUI | nice | very nice | very nice | no GUI while backupping (so no errors reported!). All preferences are lost if the user clicks "use recommended backup settings"! | ? | nice (judging from screenshots) | nice, but bad at reporting errors or providing debug info to the user |
^ shows progress during backup | only file currently copied | only time elapsed (and that may be an intrinsec limitation of being based on git) | yes | no (how could it without GUI?) | ? | ? | Quite poorly, but yes |
^ exclusions handling | takes apparently any regular expression - though the GUI is not very clear on that | few preset exclude options (impossible to exclude a single subfolder) | Can exclude paths, not regexp ((Through regexp can be manually added with gconf-editor, for instance.)) ([[https://bugs.launchpad.net/deja-dup/+bug/374274|Bug report]]) | free choice of inclusions and exclusions | ? | only provides a list (presumably of single folders/files) | nice interface to include/exclude folders, but patterns/extensions only through manual tweaking of config files |
^ can browse backupped files | ? | yes, but only a list of files is provided (not organized in folders)! | no!!! | yes, but each incremental backup only shows files backupped at that time | ? | ? | No - though the last backup is simply a mirror image, so easy to browse/use |
^ can restore a single file | ? | yes | Restoring previous versions of files/directories is easy with the Nautilus menu action, restoring lost files has to be done using the shell ((Or creating a dummy file with the same name and then asking to restore a previous version)) | yes (though the operation is not very fast if the file is part of a large backup) | ? | ? | no!!! the only available operation is "restore the whole backup"! |
^ backup targets | only filesystem | only //external// filesystems | filesystem, smb? | filesystem, ssh, ftp | ? | filesystem, ssh, maybe others | filesystem, ssh |
^ speed | ? | very slow | good | very good | ? | probably depends on "engine" used | very slow |
^ space occupied | much (no compression)? | optimal (no replication, gzipped and for non-binary files, only updates are recorded) | good (no replication, gzipped) | optimal (no replication, gzipped and for non-binary files, only updates are recorded) | ? | probably depends on "engine" used, but maybe there is no attention to replication? | much for the first backup (no compression), then diffs are gzipped, so pretty good |
^ other pros | | can show differences between versions of (non-binary) files | nice notifications mechanism | | ? | | |
^ other cons | | Doesn't keep track of emtpy folders and folders/files permissions, doesn't allow deleting old backups. Not available in Debian repositories, neither as a tarball! Available only as a (low quality) .deb | | (at least by default), only runnable by root By default, simply skips files bigger than 10 MB. If at some time "standard settings" button is clicked, all settings are lost. Unmaintained, deprecated.([[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493840#36|Debian bug]]) | doesn't work with python 2.6! Last commit (as of April 2010) was in 2007! | | Doesn't catch even common errors such as "low space". |
Other apps I may want to look at: [[http://hanez.org/zynk.html|zink]], [[http://www.opbyte.it/grsync|grsync]], [[http://www.areca-backup.org|areca]], nssbackup (?), hubackup (?).
Contributions and suggestions will be appreciated: me [AT] pietrobattiston [GUESS WHAT... DOT!] it