I had been thinking of writing code to implement a robust fuse filesystem for BackupPC backups but then I saw that John Craig (and perhaps others) had started to write code.
While the code still seems to be at the proof-of-concept I think the idea is very powerful and extensible. The obvious extensions include: - Using recursion and more of the View code to "fill" in incrementals so that each backup gives a faithful recreation of the share (at lease on the version I downloaded only the directories and the incrementally backed up files show up on an incremental) - Using more robust concept of ownership For example, on a host-by-host basis, it would be great to be able to choose & configure among at least the 3 classes of mappings: - Map to ownership (passwd & group) names on the current machine - Map individual users/groups to specified alternative user names & groups on the current machine (using a mapping file per host) - Map generically to user=x, group=y and perms=.... (similar to what mount was) (using a generic map for all hosts) - Allow creation/deletion of files - My program BackupPC_deleteFile could easily be adapted to allow file deletion from a single backup while preserving the view from higher level incremental backups - A similar logic could be followed to allow creation/addition of files (or moving/copying of files) within a single backup without changing higher level incremental backups - Fully implementing all the content of the attrib files (not clear if this is done or not - Handling of symlinks - this shouldn't be too hard Only new concept would perhaps be creating a map to allow for symlinks across shares - Handling of hard-links - this is a *hard* problem since you would essentially need to scan the entire backup tree to even just calculate nlinks, but you could at least fake it by setting nlinks to n=2 (or something) if file is of type hard link (either source or target) - Code optimization? caching? e.g., cache recently looked up directories & files - Other cool??? stuff... - Adding an extended attribute to retrieve the file md4sum In any case, I think a robust fuse filesystem is an excellent way of solving the following: 1. Allowing easy comparison/verification of backups (or more likely parts thereof) 2. Simplifying ability to find and restore files using standard *nix routines for finding, grepping, copying, etc file (along with the ability to write scripts to automate and repeat) versus having to use a clunky web interface 3. Allowing more granular permissions over who can read/restore what. Basically you can use regular *nix file permissions and groups either as inherited from the files themselves or as set in policy/mapping files as suggested above I really almost *drool* over having the ability to use simple commands like find/grep/diff to find some old file that was deleted or some older version of a file that has a key change I need. Imagine being able to say: find <host>/[20-30]/<partial path> -exec grep <lost keyword> {} \; In any case, I was wondering whether anyone is actively working on this and if so what is the roadmap. I am willing to help and contribute but probably don't have the bandwidth (or knowledge) to do this all myself. Which gets me back to the #1 thing that is gnawing me (in a positive way) about BackupPC -- which is that it *seems* to be lacking an active development engine. There is so much exciting stuff to be done but I have yet to figure out how to tap into a group that is active in taking this to the next level. ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ BackupPC-users mailing list BackupPC-users@lists.sourceforge.net List: https://lists.sourceforge.net/lists/listinfo/backuppc-users Wiki: http://backuppc.wiki.sourceforge.net Project: http://backuppc.sourceforge.net/