Backups - Retrospect 7.7 for Windows

posted Feb 20, 2010, 9:00 PM by r0m30 1
As part of my migration to Win7 I checked my critical software for compatibility.  There was a new version of Retrospect (7.7) and it included Win7 support, it wasn't clear (to me anyway) that it was required for Win7 but reading the features I found that they had added a bare metal restore.... sold.
Even better, I've tested it and it works, see the caveat near the end of the post.

 I like Retrospect, I'll admit that I didn't do extensive research, it came with an external USB drive I bought and it worked.  I did upgrade to the "professional" edition so that I could back up clients. There have been several occasions where Retrospect saved me from a full reinstall of Windows and that makes it a critical part of my system.

As a part of my journey into the abyss I decided to let the system sleep, I've never been comfortable with sleep on a PC, there is no memory error correction home PC's and as far as I can tell most consumer level PC's don't even have memory error detection.  So I've made a compromise,  I'll let the PC sleep during the day but do a reboot daily just to ensure that any errors are flushed out of the system.  I'm a fanatical member of the "Boot Windows Daily" cult.

So begins my first issue with Retrospect,  it doesn't wake up the PC from sleep to run scheduled backups.  Even worse it doesn't make the required system calls to tell windows that even if the user is away critical work is being done so postpone sleep until it is finished.   My first attempt to resolve this issue was a bust.  I used the windows task scheduler to schedule an innocuous task a few minutes before the scheduled backups and checked the box that told windows to wake up the computer to run this task.  I assumed that the system would not go back to sleep until the 30 minute sleep timer had expired.  Unfortunately the Windows designers had their thinking caps on when they designed this part of the system.  When the system wakes up for a scheduled task it sets a short ( two minute) timer to give the application time to make the proper calls to prevent the computer from going back to sleep.  My little tickler program didn't make those calls and neither did Retrospect, so the the PC went back t sleep and the backups didn't run until the next morning when I logged on.

[Note: It turns out that Mozy backup also has this issue :-( ]

I did some research, hoping that I could use the external scripting feature of Retrospect to overcome this issue.  It turns out that unless I want to write my own backup scheduling system that wasn't an option.  I like to code but I'm not going to reinvent the wheel unless I have to.

My solution turned out to be rather simple (I like them that way).  I wrote a little program that makes the required system calls to prevent the system from going back to sleep and used the windows task scheduler to start it a few minutes before the backups are scheduled to start.  The program takes one argument, the number of minutes to keep the system from sleeping.  I've posted the source and the executable on the code page for anyone who wants to use it.

The real solution is for retrospect to use the proper Windows calls to prevent sleep and schedule its wake-ups, but I'm not going to hold my breath.

A few other minor annoyances that I have with Retrospect:

It doesn't have the schedule OPTION for catalog copies and grooming.  Yes, you can schedule both of these tasks but they don't have the schedule OPTION like backups do.  I run hourly backups from 6am to 12pm and then a daily backup at 1am.  The schedule OPTION is what allows me to easily limit the hourly backups to 6am to 12pm.  I could and probably will create an overly complex multi-entry (18 to be precise) schedule to accomplish what the schedule OPTION allows me to do on my backups.

The bare metal restore CD doesn't allow you to escape to the command line and do anything other than what is on the menu.  I backup my catalogs to a TrueCrypt container because I can't determine if the catalogs are encrypted or not.  I know it's a little, OK a lot, on the paranoid side but I don't even want a stranger who acquires my PC (be it legally or illegally) to even know what files are or were on the PC.  I have to be able to mount the TrueCrypt container that has my catalog backups so I don't have to endure a catalog rebuild when I need to recover.  This issue can be worked around by downloading the Windows AIK using it to mount the .wim and adding a "start cmd" and a "pause" to the existing startnet.cmd inside the .win on the Retrosect restore CD and then recreating the restore CD, but why should you have to?  If you're going to do this you might as well add the TrueCrypt files to the CD so you don't have to maintain a TrueCrypt traveler CD too.