[Box Backup] Suggested change in behaviour

Ben Summers boxbackup@fluffy.co.uk
Tue, 21 Sep 2004 09:10:33 +0100


On 20 Sep 2004, at 21:53, Martin Ebourne wrote:

> On Mon, 2004-09-20 at 15:09, Ben Summers wrote:
>> On 20 Sep 2004, at 15:02, Richard Eigenmann wrote:
>>> You recommend that each mount point should be backed up separately.
>>
>> I require this!
>>
>>> However you might find situations where people have mount points
>>> further
>>> down the tree even if this is not such a good idea.
>>
>> I must write the code which stops people from doing that.
>
> I have to ask why, because it's not clear to me.

Consider what happens if you rename a file or directory. It is not 
desirable to simply treat it as a new file upload it again and delete 
the old name, for obvious reasons. So what I do is record the inode 
numbers of all directories and all files over the threshold set in the 
bbackupd.conf file. If an object appears which has never been seen 
before, the inode number is checked against this database and if it is 
present (and the object under the old name no longer exists) then a 
rename command is issued instead.

The problem with mount points comes about because two filesystems may 
have the same inode numbers, rather obstructing this tracking. There 
are ways to solve this and allow mounts within locations, but they 
would be

* Space inefficient on the client / server

* Time inefficient on the client

* Unnecessarily increase the complexity of the code when there are 
perfectly good simpler solutions

I haven't got round to writing the code to enforce good behaviour 
because

* Each platform has it's own amusing ways of reading mount points

* If you do set things up wrongly, then you're in no danger of losing 
data, just being a bit inefficient with bandwidth and server resources.

>
> In fact on one of my systems I have directories I would like to backup
> but have mounts below them (which I don't necessarily want to backup 
> and
> could exclude if that works).

You should exclude the mount points, then set up separate locations for 
the other mount points.

>
> PS. I wrote half an email on why I like'd Adrian's description of
> setting a 'restore time/date' when Ben's reply came through saying he's
> planning that anyhow. So I stopped. This is just a 'me too' for
> encouragement. ;)

:-)

I really like the idea as well, but have time constraints. While I have 
a lot of freedom in my working life which allows me to develop the 
system during the day, I do not have the freedom from the requirement 
to actually earn a living. The life of a freelancer is an interesting 
life.

Ben