3

Every backup software I've seen (even the ones that claim "continuous" protection) only backs up files periodically -- say, every 5 minutes.

What I'm looking for is true continuous backup software, i.e. software that can transparently back up files immediately before they are written to, so that I can be certain I have all the versions of a file that ever existed.

Is there any software that does this?

9
  • 3
    What is so mission critical that it cannot wait 5 minutes? Oct 28, 2013 at 7:20
  • How many changes can happen in 5 minutes?? This is going to put a lot of strain on any type of system.
    – StBlade
    Oct 28, 2013 at 7:22
  • @MariusMatutiae: Maybe editing a text file, as a simple example? I save after almost every line I write... a lot can happen in 5 minutes. Occasionally I end up deleting something I could have used later. Undo only helps if I haven't already undone -- but disk space is cheap so I want to just have all the copies if I can.
    – user541686
    Oct 28, 2013 at 7:23
  • @MariusMatutiae: Not to mention that I just lost some data today precisely because the system froze when my editor was writing to a file (no idea why, but that's beside the point). If the file had been backed up somewhere else the moment before it was altered, this couldn't have happened.
    – user541686
    Oct 28, 2013 at 7:27
  • I am sure there are editors saving in real time (like vim in Linux) in Windows. It seems a bit of an overkill to require real-time back-up of a system, only to save automatically your drafts. Oct 28, 2013 at 7:32

7 Answers 7

4

Got bad news for you - no such software exists at the moment.

I was looking for the exact same thing for myself just last month and the executive summary is that such software requires a file system filter driver to be truly real-time. No existing software implements this.

There are few that come close, but they all replicate after the change and there is always a delay involved (though with some apps the delay can be reduced to under a second).

2
  • What's about dropbox?
    – frugi
    Oct 28, 2013 at 12:06
  • 1
    @frugi - Same with Dropbox. It gets a notification from Windows that something has changed and then it acts on that.
    – Angstrom
    Oct 28, 2013 at 12:55
2

In Linux systems, we used something of the sort that monitors filesystem events. Thus had a script always running, sleeping most of the time. If a specified folder had a certain event (like IN_CLOSE_WRITE or IN_MOVED_TO) we would then process the file.

The goal we had was not to back it up, but it could as well be.

You could try and search for backup solutions using inotify or such. I came up with lsyncd.

1

The only way I can see of doing this is to use a file system that automatically keeps old versions of files when you change them. This is called a versioning file system. There are several implementations for various operating systems (see the Wikipedia article for a list).

Note that this kind of "backup" will be stored inside the filesystem, this will use the same media (harddisk) you files use. So it will help you recover an old version of a file, but will not help in case of filesystem, media or system failure.

1
  • 1
    That's certainly one way, but by no means the only way. A file system filter driver would work as well.
    – user541686
    Oct 28, 2013 at 10:42
1

To be sure of having a copy of data immediately before or during it's been written, use RAID array.

1
0

You might want to checkout back blaze. Pretty sweet software for pretty cheap and sounds like exactly what you need. That or even dropbox will sync on every save.

http://www.backblaze.com

2
  • Note that I want to sync before a save, not afterward. I don't think DropBox syncs before a save.
    – user541686
    Oct 28, 2013 at 8:02
  • @Mehrdad - If you want to sync before a save, I think you're probably SOL. That would require somehow saving an image of the file as it's stored in RAM. I don't know anything that does that.
    – Fake Name
    Oct 28, 2013 at 9:41
0

If you have text files which change often and are sensitive to change, you could put them in some sort of source control. The drawback is that saving the file becomes a two step operation - you would need to implement a check in as well so that all versions of the file are stored.

1
  • Unless you can tell me how to make the source control automatically commit my saves before I make the next one, and how this would generalize to other files, I don't think this works...
    – user541686
    Oct 28, 2013 at 10:02
0

The nilfs2 filesystem makes temporary snapshots several times a second, for free, due to the way it works (it keeps a detailed log of changes, and reading files actually reads that log, rather than somewhere else; the log can simply be truncated to revert to an older state). Unfortunately, it is for Linux only.

You may want to run nilfs2 on a Linux VirtualBox instance and run Samba to access the files within. This way, all your changes are instantly logged.

nilfs2 is really magical. It uses all of its free space for continuous snapshots, and only stores differences, so you get few-per-second snapshots up to days. Old snapshots will be forgotten as you add new files to clean up space. You can also tell it to never forget some snapshot, and you instantly get a permanent backup (against human error, not hardware failure), without a lengthy copy!

Not the answer you're looking for? Browse other questions tagged .