Doing research and writing about it in a way that’s clear and compelling are complex tasks.1 It takes time and attention, and no one likes having to redo work.
Bad things can happen to your research, however—even if you’re generally well prepared for them. That’s why part of doing research is also protecting that research with regular backups.
And no, you can’t just rely on your cloud storage service to provide an adequate backup. Those services are good, but no one will ever have more invested in your research than you do. So, you can’t afford to leave backing it up in the hands of even the most competent, well-intentioned cloud providers.
A Local Backup Tool
In the spring of 2022, I learned this truth up close when ransomware got onto my institution’s network. In my personal process of recovering from that event, I settled on a more robust local backup solution than I’d had before—Macrium Reflect (home edition). And I’ve been using that tool since.2
I won’t go back over Reflect’s anti-ransomware feature here. But I will note some of the other features I’ve particularly appreciated. These include
- easily configurable backup sets and scheduling,
- superb data compression to help maximize available disk space,
- automatic verification of backups,
- robust logging of changes in individual backups,
- clear documentation with an easy-to-navigate manual, and
- the ability to mount any backup as a virtual hard drive to easily access the files in that backup.
I have had an issue with one backup set when Windows apparently let a backup drive get too fragmented. But I’ve now sorted out how to automatically defragment a drive after each backup. That’s perhaps a bit overkill, but it’s keeping things in order. And otherwise, Reflect has been doing a great job—except for one limitation.
A Missing Feature
As I mentioned above, Reflect does a great job with logging for individual backups. For each backup, the logs included will be appropriate for what’s in (or not in) that backup. But they’ll
- always include a log with summary information about the whole backup as well as, if applicable,
- a log for any files backed up that weren’t in or were modified since the last backup and
- a log for any files that were in the last backup but have since been deleted.
Although Reflect already has all this information, however, there’s currently no way to search within Reflect for the specific backups that contain unique versions any single, particular file. You can open any backup and see the state of an included file at that point. But you won’t know from that backup where to find the prior or next version of that file.
So, for instance, let’s say you’re using Reflect. You then have an issue with a document that you don’t notice immediately. But you
- have a year’s worth of backups,
- modified MyNextArticle.docx at some 50 points throughout that year you don’t now remember, and for some reason,
- need to restore MyNextArticle.docx but don’t know which version you need to restore it to.
How are you going to find which backups have the different versions of MyNextArticle.docx that you need to examine?
A Workable Solution
There is, thankfully, a workable solution to this question. That is, you can use Windows Explorer to search across your backups rather than Reflect.
To do so, you’ll need to export the Reflect log files into a format where Explorer can search their contents.
You can do this with the small “mrcdat2txt” utility. With that utility saved somewhere easily accessible on your machine, you could then run an automated series of commands like
forfiles /p "[path to accessible log folder]\MRCDAT Logs" /m *.mrcdat /d -56 /c "cmd /c move /y @file 0x22[path to outdated log folder]0x22"
to purge older log files (here, older than 56 days) that you don’t need to continue converting,robocopy "C:\ProgramData\Macrium\Reflect" "[path to log folder]\MRCDAT Logs" *.mrcdat /MAXAGE:56
to copy newer log files to an easy-to-reference location, andforfiles /p "[path to accessible log folder]\MRCDAT Logs" /m *.mrcdat /c "cmd /c [path to utility]\mrcdat2txt.exe @path [path to backup set]\\@fname.csv"
to convert the log files in your accessible reference folder into CSV files in the same folder as your backup set.
Then, if and when you need to search across the set for backups containing a particular file, you can use the Windows Explorer search box. So, if you’re looking for MyNextArticle.docx as in the example above, you’d search for content:"MyNextArticle.docx"
.
Depending on the size of your backup set, it might take a few minutes for Windows to work though the logs. But once it’s done, you’ll have a list of CSV files containing “MyNextArticle.docx”. And those files will have the same names as the corresponding backups that contain the unique versions of the file.
From that point, you can easily
- mount the corresponding backups,
- view the different versions of your target file, and
- restore those versions or elements from within them as needed.
Conclusion
Your research is precious. It’s especially so for you, and it’s potentially so also to all of us who might benefit from it. So, it’s well worth protecting—and not just rolling the dice on cloud storage providers to keep up with.
If you’re looking for a backup solution, Reflect is a great option. But whatever backup solution you use, you should ensure you understand how to get your data back out if the need arises. And of course, it’s always better to do that understanding on the front end before the need arises.
Header image provided by Markus Spiske. ↩
Sadly, Reflect doesn’t appear to have a version for MacOS. If you use MacOS, however, I’d be interested in hearing in the comments your top choice for a comparable tool. ↩
Leave a Reply