FlyBack: a “Time Machine” backup utility for Linux

For all the linux users that saw the new OSx Leopard and the new backup utility called Time Machine and said “wow”! Now there is FlyBack. For who don’t know what I’m talking about:

Time Machine, like many backup utilities, creates incremental backups of files which can be restored at a later date. It also supports limited restoration of files within applications that are specifically programmed to use Time Machine’s functionality. For more information about Time Machine: http://en.wikipedia.org/wiki/Time_Machine_(Apple_software)

Now, how flyback work? From the web site:

FlyBack is a snapshot-based backup tool based on rsync It creates successive backup directories mirroring the files you wish to backup, but hard-links unchanged files to the previous backup. This prevents wasting disk space while providing you with full access to all your files without any sort of recovery program. If your machine crashes, just move your external drive to your new machine and copy the latest backup using whatever file browser you normally use.

Note that this means you can selectively delete specific backups and still retain files stored in previous ones. (ie., you can delete Tuesday’s backup and keep Monday’s, without screwing up Wednesday’s)

Install flyback is very easy. You have to resolve some dependencies:

Debian $ sudo apt-get install python python-glade2 python-gnome2 python-sqlite rsync
Ubuntu $ sudo apt-get install python python-glade2 python-gnome2 python-sqlite python-gconf rsync
Redhat/Fedora $ yum install pygtk2 gnome-python2-gconf pygtk2-libglade python-sqlite

After downloading flyback from http://code.google.com/p/flyback and unpacking the tar.gz with the command “tar -zxvf flyback_0.4.0.tar.gz”, enter in the new flyback directory and launch it “python flyback.py”

Screenshot:

Flyback

It is very simple to configure. You have to choose what folders to backup, how many time etc. Here a screenshot of my configuration

Flyback

The * mean all the day, months and years. */2 mean to do the backup every 2 hours. For the storage location i use an external hard disk and i do the backup only of my my home folder

flyback

Add to Technorati Favorites

45 Comments so far

  1. Vincent on January 20, 2008

    Looks very nice, could use a few usability improvements and packages for specific distros, but very nice otherwise :)

  2. Anonymous on January 20, 2008

    wooowwwww but do u need an external drive or can u use a partition of ur hard drive?? Also is there a .deb file for installing in ubuntu???

  3. rusty on January 20, 2008

    ‘…can u use a partition of ur hard drive??’

    You could use a partition of your hard drive, at least in as far as rsync is concerned. Whether that’s a good idea or not is a different matter. If the goal is to be able to rebuild your system should your hard drive fail, then having the backup on the same hard drive as the original is counterproductive.

    Where that would be handy though is in testing new software. You could back up to a different partition, then any time you want to back out the tested software, simply reformat the original partition and restore it from the backup for the date/snapshot you took. Of course you could do that just using dd, or snapshots in rsync, but the performance would be different.

  4. [...] des millions de programmeurs très intelligents pendant leur temps libre pour essayer de rendre libre et très compliqué quelque chose de commercial et très [...]

  5. Deliggit.com on January 20, 2008

    FlyBack: a Time Machine

    bernaz.wordpress.com
    how to install and configure flyback
    FlyBack is a snapshot-based backup tool based on rsync It creates successive backup directories mirroring the files you wish to backup, but hard-links unchanged files to the previous backup. Thi…

  6. menek on January 20, 2008

    I’ve followed your instructions on Ubuntu 7.10, but I get this error when I try to start FlyBack:

    Traceback (most recent call last):
    File “flyback.py”, line 721, in
    main()
    File “flyback.py”, line 716, in main
    main_gui()
    File “flyback.py”, line 363, in __init__
    self.refresh_file_list()
    File “flyback.py”, line 246, in refresh_file_list
    file_stats = os.stat(full_file_name)
    OSError: [Errno 2] No such file or directory: ‘/liblibvixAllProducts.so’

  7. jörgen on January 20, 2008

    How does this compare to rdiff-backup?

  8. PhilOSparta on January 20, 2008

    Nice. Thanks for taking the time to put this together. I just tried it out on my Ubuntu platform. Just what I needed.

  9. International Television on January 20, 2008

    Very nice! I wonder if it can be ported over to Windows?

  10. [...] paikkaamaan tulee FlyBack. Ohjelma ei vielä taida olla valmis, mutta on jo rohkeimpien kokeiltavissa. Kyseessä on rsynciä [...]

  11. The Heretic on January 20, 2008

    While FlyBack and other Rsync based backup methods are welcome and helpful tools, I must point out a common fallacy that people have about them.

    Apple’s Timemachine and the rarely mentioned Windows Restore Points use their respective file system’s low-level snapshot feature to effectively backup all files, even those that are open and in use. Even large database files whose contents would normally change during the course of a backup are effectively backed up in their entirety. The snapshot feature makes the backup consist of a single instant in time.

    The Rsync based backups, on the other hand, are simply making differential backups. They do not leverage any sort of low-level snapshot mechanism. On large drives the simple act of building a list of changed files to be backed up can take anywhere from several minutes to an hour or even more. During that time the file system can change dramatically. Furthermore, Rsync has no means of effectively backing up opened or changing files. Large and changing database files for instance, will never be properly backed up by these Rsync based methods.

    Now, it is possible to use LVM(Linux Volume Manager) and it’s snapshot system with customized backup scripts to duplicate the capabilities of Windows Restore Points and Apple’s Time Machine on Linux but, it takes a lot of specialized customization. Most Linux systems use EXT3 on the raw disk as their default file system not LVM. Heck most Linux users don;t even have a clue what LVM is. That means that most Linux systems cannot reproduce the functionality of Restore Points or Time Machine, regardless of Rsync or any other backup mechanism.

    What I’m trying to say is that Flyback and other Rsync based backup systems are nothing like Time Machine or Restore Points and they never will be.

  12. [...] Linux distros), it still irritates that living *** out of me how they ceaselessly continue to copy ideas from OSX and Windows.  This is why many non-Linux folks refuse to “switch” to it for a desktop [...]

  13. Elladan on January 20, 2008

    So does this support the most important feature of Time Machine? That being: actually supports external drives?

    With Time Machine, you specify what you want backed up, and it constructs backup sets periodically. When you turn on your external drive (like you do, say, once per day or every few days), it /automatically/ handles moving the backup sets over.

    There are already 50 good backup programs for Linux. The problem is that they either need to be run manually, or they need online storage, which 99% of people don’t have.

  14. actually on January 20, 2008

    @sKatterBrainZ: you’re the one with the me-too technology! Which came first rsync or Time~ whatever?

    Fact is - your OS is just an expensive knock-off. Who invented the GUI - Apple? Microsoft?

    @Heretic - Sure rsync tools are different they don’t just image your harddrive. You can restore some of your data, just one file and you don’t lose anything since (if you’d be so kind to RTFA) after the initial backup you only backup the differences - and much more often than imaging. Timemachine and Restore Points is not so great if its one critical file lost two minutes ago…

    And why are anti-free people reading a linux article anyway? Paid monkeys of the Beast?

  15. Bob G on January 20, 2008

    I prefer to send my incremental backups offsite to an “infinite filesystem” service like JungleDisk (which is built on Amazon’s S3 storage service). Unfortunately hardlinks don’t work there. Hardlinks also won’t work if ever the backup image gets too large for a single filesystem, which it inevitably will if you do enough incremental backups.

    So some time ago I wrote “ibid,” which is very similar to FlyBack but does not rely on hardlinks and does not have a graphical user interface. You can read more about it on my blog:

    Ibid: Incremental backups to infinite disk

    Cheers,
    - Bob

  16. Oktoplus on January 20, 2008

    rsnapshot provides the same functionality. All you need to do is edit the config file and set up a cron job. Backups are then created incrementally using hard links to provide an simple set of directories, each containing a full backup. For more details see http://www.rsnapshot.org/

  17. unya on January 20, 2008

    If you need sending to remote filesystem as well as full Time-Machine like thingy, you combine fs-level snapshotting with venti. In use since 2000, in different form (kfs filesystem) available since around pre-1993?

    Frankly speaking, I haven’t seen any revolutional feature in Operating Systems since long ago :-)

  18. Matthew on January 20, 2008

    For a few bucks you can do this from any computer to any computer automatically. Complete with alerts, reports, archive self healing, insane compression that rivals this solution, data de-duplication, etc.

    Check out http://www.crashplan.com

    It’s pretty cool.

  19. [...] Time Machine utilizado por Apple en su MacOSX ha despertado un gran interés de parte de la Comunidad Linuxera, ya que son varios los intentos de re-crear este sistema de gestión de [...]

  20. regeya on January 20, 2008

    I set up a similar system to rsnapshot at work, sort of. At the time I didn’t know about rsnapshot. :-} We have a machine running netatalk to share files between Mac machines, and a backup drive using rsync to do snapshot backups. Brilliant thing about it: Although at any given time we have around 240GB of data stored, only about 2-3GB worth of change happens in any given day, which means that 14 days of backups take up an extra 30GB. I have a short Ruby script that stores each snapshot under a human-readable dated folder.

    I set up netatalk to share that backup folder as ‘McFly’. No copyright infringement there!

    It works brilliantly and on average just takes a few minutes, with the longest period being rsync scanning for differences.

    FlyBack looks very interesting. I may have to set this up on my wife’s laptop.

  21. [...] Read how to install and configure it here. [...]

  22. [...] Weblog writes about FlyBack and you can continue reading here. addthis_url = ‘http%3A%2F%2Fwww.pinoytux.com%2Flinux%2Fsave-your-files-with-flyback’; [...]

  23. PinoyTux Weblog on January 20, 2008

    [...]Bernaz’s Weblog writes about FlyBack and you can continue reading here.[...]

  24. Johannes Rexx on January 20, 2008

    So what about data restore?

    Fine, we have another FOSS handy backup GUI and I appreciate that. The article does not discuss the more important half of backup, namely data recover. Time Machine has an excellent GUI to deal with searching for and restoring lost data.

  25. [...] to install and configure flybackread more | digg [...]

  26. cgp on January 20, 2008

    actually: Fact is - your OS is just an expensive knock-off. Who invented the GUI - Apple? Microsoft?

    Umn, actually actually, it was XEROX. Just sayin’. They invented, Apple implemented first decent commercial version and well, Microsoft made it a unqualified success. Sorry about all that.

  27. [...] FlyBack: a “Time Machine” backup utility for Linux « Bernaz’s Weblog For all the linux users that saw the new OSx Leopard and the new backup utility called Time Machine and said “wow”! Now there is FlyBack. (tags: flyback timemachine mac osx leopard linux backup utility software opensource) [...]

  28. frmad on January 21, 2008

    This post is very hot, it is high ranked at our site (daily weblog, weblog post ranking site). See http://indirect6.blogspot.com/ for more information

  29. Tzafrir Cohen on January 21, 2008

    The idea is not that new. In fact, there are a number of existing packages in Debian that implement it (faubackup, pdumpfs and a at least one based on rsync). pdumpfs quotes plan9’s backup program as its source for inspiration.

    This functionality is the main reason I have kept out of using ext3 - ext3 has a fixed number of inodes. And such a usage with many hard links uses many inodes. Try ‘du -i’ .

    One site that uses pdumpfs: http://snapshot.debian.net/
    Has every package that has ever entered Debian Unstable.

  30. Go back in time with Fly Back on January 21, 2008

    [...] to Timelady for the link to a blog entry about Fly Back - a back up utility which you could configure to take snapshots at particular [...]

  31. Heretic on January 21, 2008

    @actually

    The purpose of my post was to point out inaccuracies and misconceptions in the article that claims that Flyback is like Time Machine, which it is not at all. Reading the article gives a false sense that they are comparable, you seem to suffer from the same misguided viewpoint. Perhaps you should reread my comment which was intended to address the low level technical differences. I didn’t even mention the countless differences in appearance or behaviors of Time Machine which are quite dramatically different than anything else on the “market”.

    For the record, Time Machine and Restore points, like Rsync, only backup changes i.e. differential backups and use hard links to simulate a complete backup. I bet you didn’t know Windows could do hard links, it does. But, unlike Rsync, they do it at the block level and avoid locking contention or mid backup file changes. They also get their snapshot (the differences to be backed up) instantly with virtually no overhead thanks to the underlying file system. Something that very few of the popular Linux file systems offer. Ext3COW provides this functionality and is a most excellent solution but, as yet, none of the distributions have chosen to incorporate it.

    For your further edification, Time Machine and restore points can indeed restore single files. Neither of them are image based. But, Time Machine goes way further by allowing you to restore not just files but also individual settings, individual emails and more. It is an amazing advancement compared to any other backup system to date.

    Finally, the reason for my criticism that is upsetting you so is that I am annoyed by Linux’s lack of advancement. Ext3COW was released in 2005 but it still hasn’t been picked up by any distributions in 2008 because clueless twits like you would rather argue that what we already have is good enough. That file recovery should be handled in user space by trashcan applications and aliasing rm instead of by using a real file system advancement. Windows, Novell, Apple all have such a file system and someone is sure to offer ZFS as a Linux file system that has the same capabilities. But the fact of the matter, the truth if you will, is that most Linux distributions still ship Ext3 as the default and deficient file system so we will never have anything better than Rsync.

    RSync was released in 1996 and has changed little since then. Windows Apple et al have all eclipsed RSync and Ext3 several years ago but rather than discuss the issues and move the technology forward on Linux, people like yourself would rather make clueless posts and tell people that know much more about the subject to RTFA. It is you and people like you that are causing Linux to be left in the dust. But, while I can offer you advice, you are “free” to be left behind.

    Ext3COW
    Time traveling file manager for Linux

  32. ComputerBob on January 21, 2008

    I use my own custom rsync-based script to backup both my /home and root partitions, but I mentioned your article in my Journal today because I suspect that a lot of Linux users are looking for an easy way to get started creating backups, and Flyback certainly looks easy.

  33. [...] FlyBack is a great free software backup program. It works better than the equivalent in the latest release of the most advanced proprietary operating system because it can sync to any other computers on your home network, instead of being crippled to external hard disks - or forcing you to buy a small backup server computer with very limited amounts of disk space and no «RAID» hard disk failure protection. That is second only to iTunes DRM downloads as the most bizarre thing that crapple tries to con people into. [...]

  34. feanorknd on January 23, 2008

    now imagine I want to use a network resource, by example, a NFS mounted partition, or even a Samba mounted partition..

    what about hardlinks here? should it be ok? (I guess not)

  35. Anonymous on January 28, 2008

    Seems like a lot of people have a custom made rsync script running on their *NIX servers to help them with backups. FlyBack is the same but with a nice GUI!
    Good work!

    My script is at http://www.masuran.org/gpb ;-)

  36. [...] is presented as “Apple’s Time Machine for Linux”. To be precise, I read about it here on WordPress. Now, I’ve been using rdiff-backup for a while, so the first thing I thought was: [...]

  37. bish on February 1, 2008

    Looks like flyback is a push-based rsync backup app, as opposed to most pull-based rsync backup apps.

    The difference is semantic, and that’s exactly why you should flavour to taste. I can see where each could be preferred, but I’m all about centralization so it’s a backup pull for me (was BOBs, migrating to rDesktop, fyi)

  38. SHRIKEE on February 12, 2008

    so you’re gonna entrust your data to a v0.4 backup app? lol!

  39. Polygon on February 14, 2008

    Version numbers differ from program to program. All flyback is, is just a nice gui, all the hard work is already done in rsync and all that.

  40. Vitor on March 5, 2008

    What about storing files at a filer mounted via sshfs?

    i’ve tried flyback to backup into a local filer and the results are so far definitely satisfying.

  41. Suzanne Langley on March 17, 2008

    I have visited this site on many an occasion now but this post is the 1st one that I have ever commented on.

    Congratulations on such a fine article and site I have found it very helpful and informative - I only wish that there were more out there like this one.

    I never leave empty handed, sometimes I may even be a little disappointed that I may not agree with a post or reply that has been made. But hey! that is life and if every one agreed on the same thing what a boring old world we would live in.

    Keep up the good work and cheers.

  42. [...] | Bernaz. Enlace [...]

  43. [...] | Bernaz. Enlace [...]

  44. [...] | Bernaz. Enlace [...]

  45. Albumen on June 19, 2008

    Somehow i missed the point. Probably lost in translation :) Anyway … nice blog to visit.

    cheers, Albumen.

Leave a reply