I use Acronis True Image, and even test it pretty often. So far for me, it has always preserved licensing (except one program a long time ago, but I contacted the company and got it resolved). I take an image of my C: drive partition, but I don't actually use the "My Documents" and other "user" folders that get created on the C: drive (although many programs do install stuff there). All my data files, my song content libraries, etc go on other drives. In only "image" the C: drive partition, and then like Steve, I have batch files created to use the "Robocopy" command for stuff on the other drives. My command line is similar, but slightly different:
My user data is stored in several folders on D:, E:, and F: drives.
D: - contains a folder called "d:\AudioData", which contains all my sound libraries in "d:\AudioData\Sounds" and all my VST's and related files in "d:\AudioData\VST".
E: - contains several folders. Most of my data is found in "e:\MyData" (which then has a bunch of subfolders under it). Then there is "e:\Audio" (which contains audio project files and audio content files, such as the Cakewalk Content folder), as well as "e:\Virtualization" (which contains my VMWare virtual machine images).
F: - contains all my MP3 file rips in "f:\MP3" (and appropriate subfolders underneath.
So, while I probably should do it more often, I generally do a full C: drive image using Acronis True Image 2018 at the beginning of each month (and I've been using it for probably 20 years now) to an external USB drive. I always do a full drive image, but it does let you do incremental and differential images as well. While the program lets you image while Windows is open, I don't do that, preferring instead to use the Linux based boot CD to ensure no files are open while doing the image - it's worked for me for a long time and saved my skin several times when a hard drive did die.
But for the stuff on D:, E:, and F:, I use a batch file to back those files up. The command line I use is (assuming my backup USB drive is J:):
robocopy "d:\FolderName" "j:\FolderName" /e /s /mir /r:2 /w:2 /log+:"e:\PC_Bkup.log" /tee
which means to copy everything in "d:\FolderName" to (and create if necessary) "j:\FolderName" with the following options:
- /e - copy empty folder; this preserves the entire folder structure, even if no files are in those folders
- /s - copy all the subfolders under "FolderName"
- /mir - mirror the d: drive folder to the j: drive folder - this ensures that the j: drive folder results in an exact image of the d: folder. If the files already on the j: drive is the same, nothing is copied (which speeds up the process), if the j: drive file name is not the same as the d: drive file name, it copies over the d: drive file, and if the j: drive has files and folders no longer on the d: drive, those files and folders are removed. Steve uses "/purge", which is the same as the more explicit "/e /mir" that I use.
- /r:2 - if the file cannot be copied be for some reason (perhaps it was open), then retry twice (you want to set this, because the default is to retry it 1 million times)
- /w:2 - if a retry is required, only wait two seconds before trying again (you want to set this, because the default is to wait 30 seconds)
- /log+ - to log the results of the operation and appends to the previous; however, the first line of my backup batch file just uses /log (to overwrite the previous log, but subsequent command use the "+", so the whole backup gets logged
- /tee - output to the console window as well as the log file
So I just create a file in the root folder of the e: drive (my main data drive) called PC_Bkup.bat that contains the following commands:
@echo off
cls
robocopy "d:\AudioData" "j:\AudioData" /e /s /mir /r:1 /w:1 /log:"e:\PC_Bkup.log" /tee
robocopy "e:\Audio" "j:\Audio" /e /s /mir /r:1 /w:1 /log+:"e:\PC_Bkup.log" /tee
robocopy "e:\MyData" "j:\MyData" /e /s /mir /r:1 /w:1 /log+:"e:\PC_Bkup.log" /tee
robocopy "e:\Virtualization" "j:\Virtualization" /e /s /mir /r:1 /w:1 /log+:"e:\PC_Bkup.log" /tee
robocopy "f:\MP3" "j:\MP3" /e /s /mir /r:1 /w:1 /log+:"e:\PC_Bkup.log" /tee
Obviously, you need to make sure that your destination drive is big enough to hold all the content.
I just create a shortcut on my desktop to the batch file, set it to run as administrator, and then whenever I need to a backup, I just double click on it. The first time it runs will take a very long time, as it has to copy all the files. Subsequent runs will go much, much quicker.
That's what I do and have done for many many years. It works for me, and I've never lost any data and I have had to use the backed up files to get up and running when hard drives have failed (which they will do).
It takes me about an hour to restore my C: drive partition using Acronis True Image; restoring the data drives takes many hours, because of the speed limitations of the USB interface (my laptop only has USB2, even though my hard drives are 7200RPM drives). But if I start it in the morning, I'm fully up and running by late afternoon. And that's without having to install a single application or enter any licensing codes.
I generally image monthly (or more often if I've done a major application upgrade) and I generally run my data backup batch file at least on a weekly basis (if not more often). If I've been working with a lot of files, I will often manually just update those folders to my backup drive to keep everything up to date.
Don't know if this helps any or just muddies the issue.
Robocopy paired with Acronis True Image is a great combination for keeping your system backed up. And for me, I do it on three different computers.