Hiya, I plan to write something that will do 'daily' (or whatever) archiving of Data.fs, by using a fairly simple algorithm: start: store file, size incremental: if new_size < size: store complete new file, size # pack operation has happened. else: store all bytes from size to new_size This should allow me to reconstruct the Data.fs at any given point... can anyone see any problems with this? (of course, the bonus followup would be to implement the CVS pserver protocol so that you could retrieve it that way, but hey, I've got better things to do with my life :) Anthony
On Wed, Jan 12, 2000 at 02:04:31PM +1100, Anthony Baxter wrote:
Hiya, I plan to write something that will do 'daily' (or whatever) archiving of Data.fs, by using a fairly simple algorithm:
start: store file, size
incremental: if new_size < size: store complete new file, size # pack operation has happened. else: store all bytes from size to new_size
This should allow me to reconstruct the Data.fs at any given point... can anyone see any problems with this?
What if someone packed their database and then did heaps of changes so that the size was bigger than it was before the packing? You'd have to add extra checking that, if it was bigger, the first "size" bytes are the same in both files.
Anthony
The other Evan. -- Evan ~ThunderFoot~ Gibson ~ nihil mutatem, omni deletum ~ May the machines watch over you with loving grace.
Hi Anthony - I read a posting once where someone suggested using rsync to do something similar. Rsync just transmits the changes between versions and has (the newer version) support for network access. Regards Pavlos On Wed, 12 Jan 2000, Anthony Baxter wrote:
Hiya,
I plan to write something that will do 'daily' (or whatever) archiving of Data.fs, by using a fairly simple algorithm:
start: store file, size
incremental: if new_size < size: store complete new file, size # pack operation has happened. else: store all bytes from size to new_size
This should allow me to reconstruct the Data.fs at any given point... can anyone see any problems with this?
(of course, the bonus followup would be to implement the CVS pserver protocol so that you could retrieve it that way, but hey, I've got better things to do with my life :)
Anthony
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
On Wed, Jan 12, 2000 at 12:31:15AM -0500, Pavlos Christoforou wrote:
Hi Anthony - I read a posting once where someone suggested using rsync to do something similar. Rsync just transmits the changes between versions and has (the newer version) support for network access.
How well does it handle the differences between packed and unpacked data.fs files? Evan Gibson -- Evan ~ThunderFoot~ Gibson ~ nihil mutatem, omni deletum ~ May the machines watch over you with loving grace.
On Wed, 12 Jan 2000, Evan Gibson wrote:
How well does it handle the differences between packed and unpacked data.fs files?
rsync was designed to update two files efficiently over a slow connection. It will split a file into pieces, calculate running checksums and update only the parts that differ. I expect that if the files are very different (as it would be the case after a pack operation) rsync would not be very efficient. And now I am thinking about it, it probably won't do what Anthony wants. I don't remember if it has an option to store/get just the differences. It would be useful to use as a Data.fs backup mechanism over a network. Pavlos
participants (3)
-
Anthony Baxter -
Evan Gibson -
Pavlos Christoforou