This version adds paths-inside-paths support.
Of course some fixes and improvements went in too...
This version is adding safety and auto-recovery features, as well as further reduced memory usage. There is a client list format upgrade which should take only a few seconds.
This version boosts a new back-end that takes care of all the DB maintenance (be patient on first run after upgrade while the conversion occurs). Nothing revolutionary, but this is a mandatory step on the way to 2.0.
I have migrated this project to git thanks to svn2git. Subversion access is now closed.
Version 1.1 introduces a new way to access to files. Just stack modules to zip/unzip, compute hash, write asynchronously, write to multiple files, etc...
As this code is GPL, feel free to copy, get inspired, give back and/or suggest improvements!
This version fixes a number of bugs, the worst one being the expiration always removing one record too much. Otherwise, this release is very much about architecture and performance improvements all over.
This version seems fairly bug-free and has the features I need (including backup via SSH), so it is time to release version 1.0. Hope you like it!
It is now possible to backup a remote directory via ssh, thanks to the sshfs fuse (file system in user space) support. Add this to your client configuration:
protocol ssh
option username <username>
option password <password>
Once I have definitely sorted the compression decisions, I'll release a 1.0... hopefully not in a year's time!
Fixes a bug which affected only one of the first backup runs, where the backup would fail.
The consequences of the bug are that the backup in question is unfinished, but subsequent backups would then work without problem.
Versions prior to 0.9 are not affected.
This version mostly speeds things up, and adds better data verification, although it also adds some functionality, especially the auto-compression ability which I now use on my home server.
Enjoy!
Fixed another bug when no space is left on the backup device where the list would get corrupted.
Also removed the compilation warning.
Version 0.9 hopes to optimise speed everywhere. At the moment, parallel read and write operations when copying files is under test, and getting the contents of a client's backup is 5 to 10 times faster than with the 0.8 series.
Work is still taking place to further optimise and rationalise the access to backup lists though, so 0.9 is not yet on the horizon.
This version fixes a bug in the restoration system where paths containing spaces could not be re-created.
Found a bug when no space is left on the backup device where the list would get corrupted. Now fixed.
I thought I'd release this 'golden' version on my birthday. This is the feature complete hbackup as I dreamt it, and it pleases me very much to have reached this point in less than two years.
The next challenge is to build a GUI on top of it, so user mode can be accessible to non-geeks, and restoration becomes child's play. This will force me to learn more, and slightly change the way messages are reported.... read more
That's done, and that was a big task. This is expected to dramatically speed up backup, recover and restore operations, as we now have many small lists instead of one huge.
All the functionality is here as before, and this means that a multi-thread backup is now possible should the need (or itch) arise.
Do not run that just yet on an older DB, as the list format is still going to evolve before the 0.8 release.
Due to incompatible changes, the latest SVN will try to re-backup everything under different client names. This will be fixed in the near future (and before the 0.8 release, of course) but is a necessary step towards the next DB organisation.
Also note that the 'protocol' keyword has been added and the 'client' has slightly changed meaning. See doc/server.html for the correct syntax.
This version adds long awaited features to monitor and tentatively repair the backup DB.
Also, a new centralized system to display messages has been added.
The long-awaited scan and check functionalities are now complete. the -s/-t options allow for detection of missing/corrupted data respectively.
Corruption detection takes time, but can be done in the background.
Missing data detection generates a list of missing data, which is then used to try and recover it when possible, from the clients.
Note: this task was already partially implemented.
All messages are now routed to a reporting framework which decides to display them or not, depending on the desired verbosity level. A new 'quiet' option has been added to cope with the extended range of verbosity levels.
This framework is to be extended to allow for logging information to files.
A bug which cause the compression keyword to make the backup fail has been found and fixed today.
This is a stability version really: no new features except improved CVS and Subversion parsers.
Anybody still having issues with NFS or SMB mounts show report them, as fixing this is my top priority.
It seems the NFS mounts could lock the backup if the mounted client disappeared. This should now be fixed, thanks to the timeo and soft options at mount time and proper check for errno = EIO.
Unless something bad comes up, this will be soon released as 0.6, with a configure script ready this time!
There is now a generic simple syntax and grammar parser to read the configuration files. This makes the code a lot clearer and makes sure no errors go unnoticed.
Long time no news... that's because of my new job and new flat taking me loads of time.
But I now have a Subversion parser, provided Subversion is installed on your server.
Also, the CVS parser has been improved to detect unmodified files, based on modification time.