$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like
In every project I do I will have to migrate data at some point. This usually involves three types of data:
Home Directory Data is usually a flat copy although I tend to filter out the garbage (temp files and such).
Workgroup data usually needs to be cleaned up so it involves some kind of data mapping (folder x goes to place y).
Application Data is usually a flat copy from old to new location but often there are things like ini files that are adjusted and we don’t want to overwrite that.
I have always used the RoboCopy tool for this because it allows me to do an initial synchronisation and then keep the data in synch.
This approach has several advantages:
Before the first run I do a pre-flight check that ensures all files are readable. Amongst other things, this pre-flight check contains:
I have also written some scripts that parse the RoboCopy log files for errors and do some checks (like compare number of files) to confirm that the copy went ok.
But still there is some manual work involved in checking the final log files and ensuring that the data copy is complete and up to data.
I stumbled upon Microsoft’s SyncToy tool and it seems that it can do the same with some added advantages:
So I did a test with SyncToy (only for Application Data)and here are my observations:
By default the “Save overwritten files in the Recycle Bin” option is enabled. Not needed in this scenario so disable it:
By default Synctoy does not take a hash of the file but checks on size and last saved date/time.
This is ok for lots of data types and will improve the copy speed, but sometimes a file can be modified without it’s size or date/time being changed (eg flat file databases).
So carefully choose when you need to Enable the “Check file contents”
Use the Include and Exclude options where needed:
Carefully choose the Synch mode, sometimes you need to copy files from different sources into the same destination tree.
So carefully choose between Echo and Contribute:
Use the Preview All option to verify before Running!
Finally after the Run check the results, note that the screenshot below was not the first run so already present files were not overwritten (but SyncToy nicely indicates that):
A final observation:
SyncToy generates some files in %APPDATA%\Local\Microsoft\SyncToy\2.0 that become quite large:
So be sure to have enough free disk and perhaps you want to make a backup of these files after you have configured everything.
I did not test if SyncToy can handle very complex and/or large datasets (although I assume it can) or to what size it’s DAT files can grow.
The largest single dataset in my test was almost 6 GB with 98.000 files and 1439 folders. The DAT file was 111 MB after a full run.
I am very interest in your feedback, do you like this approach? Or maybe you use different methods or tools?
Leave a reply