robocopy for Data Migration preserving ACL & Attributes - Windows & NAS

rashminder 1 Reputation point

Hi Experts,

I have to migrate some old data (600K-700K small files) from Windows Servers (& Netapp/EMC NAS) & want to preserve the ACL & Attributes of files & folders. I was told to use following command for both Initial copy & for running Delta..

robocopy <source> <destination> * /MIR /Z /B /MT:32 /SEC /SECFIX /XJ /R:0 /W:0 /REG /NP /TEE /log+:<filepath.txt>

However, on executing these commands, it takes forever to copy data from source to target. Even Delta takes almost same amount of time as Initial sync with surprise mentioning "Copied - Bytes 0", I don't know why...

From what I am reading, I should use /COPYALL instead of /MIR . Is this correct? My requirement is to log details of every file that's copied & failed (with reason). Now, before working on live production data... I would need your expert opinion & guidance on this. Are the following commands good enough be to work the magic?

Initial Copy: robocopy <source> <destination> * /MIR /Z /B /MT:32 /SEC /SECFIX /XJ /R:0 /W:0 /REG /NP /TEE /log+:<filepath.txt>

Delta Copy: robocopy <source> <destination> * /COPYALL /Z /E /XJ /SECFIX /R:2 /W:5 /REG /TEE /Log:<filepath.txt>

Thank you!!

  • Rash
Windows Server
Windows Server
A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.
12,410 questions
Windows Server Migration
Windows Server Migration
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.Migration: The process of making existing applications and data work on a different computer or operating system.
412 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. MotoX80 32,441 Reputation points

    Are you running robocopy on either the source or destination machines? If you are running robocopy on say your laptop/desktop, then the data will flow over the network twice, Once from the source to your PC, and another from your PC to the destination. RDP to one of the machines and robocopy from there so the data flow flows directly from source to destination. If you are going from NAS to NAS where RDP is not possible, then use a PC that is on the same network subnet as either the source or destination machines.

    For your log file, put that on a local disk. Don't write to a network share because that will also incur network traffic.

    For the delta copy, use the /MIR switch. Mirror does a compare and does not copy files that already exist on the destination. It will also delete files on the destination that have been deleted from the source.

    You probably don't need to use /secfix unless you have some really messed up permissions.

    Pick a small subfolder and run some tests.

    0 comments No comments

  2. rashminder 1 Reputation point

    Thanks @MotoX80
    I'm running Windows Server based from Server (RDP) or my JumpServer, depending on how busy is server for login scenario. Don't want anyone to force log me off in case they need login session.

    For NAS, definitely from Jump Server which is in Same VLAN/Subnet, almost in same Network switch. Logfile is on local machine, where ever the copy is running to avoid network overworking (making list of where a copy session started from for what data separately)

    for Security, no one knows how messed up, or, even its messed up or not as data is at least 10-15 year old and customer need to preserve this data as-is.

    If I have 100K files, speedwise (as data most of Data is old & not changed over 10 years), will /MIR be better or /COPYALL be better? Also, if a file is changed/added (for some new folders), both options will still compare & copy.. am I correct?