• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 125
  • Last Modified:

RoboCopy to Changing External Drives

Background:  I have archived a ton of data to an external hard drive (lets call this drive EXT-A) to free up space on the internal drives of a Windows Server 2012 R2 server.  EXT-A will remain permanently attached to the server.  This archived data will likely not be needed again, but I have to preserve it just in case (sort of like your old tax returns.)  Because losing this archive data is not an option, I have two additional external hard drives of the same size (we'll call these EXT-B and EXT-C, respectively), which will serve to backup the archive data.  I want to mirror the data from EXT-A to EXT-B or EXT-C (whichever one happens to be attached.)  EXT-B and EXT-C will never be attached concurrently...when one is attached, the other will be located offsite and vice versa...these two drives will be swapped weekly.  

In addition, the server to which these drives are attached is a Hyper-V host.  Since Hyper-V won't let me map EXT-A through to the file server, FS1 (which is a VM), I have created a file share on EXT-A so that data can be moved from FS1 to EXT-A via the file share.  We generate a lot of this 'archive'-class data and will move data from FS1 to EXT-A at least monthly if not weekly.  

Challenge:  I can create a RoboForm script that will mirror the data from EXT-A to EXT-B.  The problem lies in the fact that I need to swap between EXT-B and EXT-C, so that we always have a reasonably up to date copy of the archive data stored offsite.  There seem to be a couple of issues:  (1) The drive letters of EXT-B and EXT-C can't be relied upon to stay the same.  (2) If you setup a file share on EXT-B or EXT-C, the file share will disappear upon disconnecting EXT-B or EXT-C.  

It's not mandatory to use RoboCopy, but that is what I'm most familiar with.  

Any ideas of how to make this work well?
0
whc4
Asked:
whc4
1 Solution
 
NVITCommented:
Give each drive a unique Label, e.g. EXT-A, EXT-B, EXT-C.
Then, run a WMIC query for the Label that matches "EXT-".
The result shows the drive letter, which you can pass to robocopy.

Make a .bat file of this. Open a CMD window and run the .bat:
@echo off
for /f "tokens=1-4 delims=," %%a in ('WMIC PATH Win32_Volume WHERE "Label LIKE '%%EXT-%%'" GET DriveLetter^,DriveType^,Label /format:csv ^|find /i "EXT-"') do (
  echo robocopy /e "\\server\share\folder" "%%b\"
)

Open in new window

0
 
whc4Author Commented:
Excellent!  Thank you!
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now