Automatic backup software?

3

2

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?

user541686

Posted 2013-10-28T07:14:49.173

Reputation: 21 330

Question was closed 2013-10-29T19:20:52.133

This is silly. Suppose a database transaction (that looks atomic at the high level) performs thirty writes to the disk. Do you need thirty versions? Maybe if you're debugging the database software itself, that's it. But then you know how to solve this problem without looking for third-party software. – Kaz – 2015-03-04T04:01:20.700

3What is so mission critical that it cannot wait 5 minutes? – MariusMatutiae – 2013-10-28T07:20:05.370

How many changes can happen in 5 minutes?? This is going to put a lot of strain on any type of system. – StBlade – 2013-10-28T07:22:45.257

@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 – 2013-10-28T07:23:50.200

@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 – 2013-10-28T07:27:03.497

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. – MariusMatutiae – 2013-10-28T07:32:57.763

@MariusMatutiae: That was just one example, the same can happen with any other kind of file (images, etc.). – user541686 – 2013-10-28T08:00:30.650

Not really a backup solution, but you could look into increasing redundancy using RAID configurations => http://en.wikipedia.org/wiki/RAID This would give you some protection from hard drive failures which is one (of the many) reasons while we should backup often.

– qbantek – 2013-10-28T16:04:00.823

@qbantek: RAID is way overkill here... and besides, I'm using the basic disks for separate purposes (among them Linux), I don't want to convert them to dynamic disks. (And I should really stop saying "disks"... they're two SSDs, one of them much smaller than the other.) – user541686 – 2013-10-28T19:07:22.377

Answers

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).

Angstrom

Posted 2013-10-28T07:14:49.173

Reputation: 610

What's about dropbox? – frugi – 2013-10-28T12:06:16.980

1@frugi - Same with Dropbox. It gets a notification from Windows that something has changed and then it acts on that. – Angstrom – 2013-10-28T12:55:52.023

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.

cusco

Posted 2013-10-28T07:14:49.173

Reputation: 21

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.

sleske

Posted 2013-10-28T07:14:49.173

Reputation: 19 887

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

1

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

Harshil Sharma

Posted 2013-10-28T07:14:49.173

Reputation: 223

Keep in mind that RAID is not backup!

– That Brazilian Guy – 2013-10-30T16:52:58.187

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

Jake Bennett

Posted 2013-10-28T07:14:49.173

Reputation: 1

Note that I want to sync before a save, not afterward. I don't think DropBox syncs before a save. – user541686 – 2013-10-28T08:02:04.300

@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 – 2013-10-28T09:41:23.633

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.

pdah

Posted 2013-10-28T07:14:49.173

Reputation: 914

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 – 2013-10-28T10:02:56.263

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!

ithisa

Posted 2013-10-28T07:14:49.173

Reputation: 113