Recovering a Split BiggieFile from a MondoRescue Backup



Once upon a time I wrote of manually extracting a file from a mondorescue backup. Sometimes it’s just easier to do that, than have mondorescue go through 30 some cds or dvds just to find one file. (Not to mention the fact that the iso’s aren’t burned to disc but are just stored on a usb HD.) So, I’ve just had the opportunity to try to restore one of the “biggiefiles”. Mondoarchive attempts to split huge files up into smaller slices for archiving. The size is something that I think is configurable, but I haven’t made any changes from the default.


The first trick is figuring out which set of slice-0000105-0000.dat files to hunt for. Find the list of biggiefiles (usually in the archives folder called biggiefiles.txt) grep the file looking for your filename, but we will need the line number of the file. In my case I did `grep -n myfilename biggiefiles.txt` and found that the file I was looking for was at line 106.

So, I started looking and found that the slice-0000106-0000.dat file reported a different filename when I used head to read the beginning of it. So, I looked at slice-0000105-0000.dat…. aha! Our line 1 in biggiefile.txt get’s to be slice-0000000-0000.dat So we’ll always be one number off from the line number.

Okay – so in my case there were about 17 slices… ranging from slice-0000106-0000.dat to slice-0000106-0017.dat I should mention that many of these slices are bz2 compressed – so the first step is to uncompress them all bunzip2 *bz2 in the folder I was using as a temp folder for this worked.

Next, I just tried cat’ting them all together `cat slice*.dat >all_files.dat` But the resulting file was read as corrupt (I was restoring an access database. So, after a bit of looking at the mondo-archive code…. I tried something a bit different. I renamed the first slice (ending in 0000.dat) to something outside of our slice- count sequence -so I just called it outside.dat and then cat’ted the rest of them together using the same command as above. Why ? The 0000.dat file apparently is written as a header with just the filename and perhaps other information that mondoarchive uses (size?) I really don’t know what else, but I had noticed that the header on the 0001.dat was similar to the header on my real .mdb files that were floating around.

Anyway – I’m making a note of it here in case I need it again. Probably the best thing I can suggest to start with is to create a folder to work on these files outside of your backup structure. And by all means COPY instead of move the files over into it.

   Send article as PDF   

Similar Posts