Robocopy (Robust File Copy) is an MS DOS command-line tool for copying files, folders or drives for Windows OS. It is an upgraded version of xcopy and copy commands in Windows.
Robocopy is included into MS Windows operating system as a default package for all versions starting from Vista. Robocopy is the Windows alternative to the famous Linux-based “rsync”. The tool is designed for reliable copying or mirroring while maintaining the permissions, attributes, owner information, timestamps and properties of the objects copied.
Robocopy is able to:
- Move folders/files with content to different locations
- Mirror folders/files
- Perform recursive folder copying
- Maintain folder and files attributes
The functionality is quite simple. The tool is usually used in order to synchronize data and to distribute files and changes.
Robocopy has a set of basic capabilities:
- Tolerating network interruptions and resuming copying afterwards
- Skipping NTFS junction points which can cause copying failures because of infinite loops
- Keeping the folder metadata: copy file data and attributes correctly, preserve original timestamps, as well as NTFS ACLs, owner and audit information using command line switches.
- Asserting the Windows NT “backup right” so an administrator may copy an entire directory, including files denied readability to the administrator.
- Persistence by default, with a programmable number of automatic retries if a file cannot be opened.
- A “mirror” mode, which keeps trees in sync by optionally deleting files out of the destination that are no longer present in the source.
- Ability to skip files that already appear in the destination folder with identical size and timestamp.
- A continuously updated command-line progress indicator.
- Ability to copy paths exceeding 259 characters — up to a theoretical limit of about 32,000 characters — without errors
- Multithreaded copying
- Return code on program termination for batch file usage.
Problems and Solutions
Unfortunately, Robocopy has a set of limitations and bugs. It is a perfect solution for a single user sharing a few files within Windows OS. However, when it comes to scaling, Robocopy users can run into problems.
Robocopy only works with Windows OS. If some of your machines use other operating systems, say Linux, you won’t be able to create a two-way channel. Having a platform independent product like Resilio Connect solves this problem.
The only possible way to make Robocopy faster is by using multithreading. Multithreading is the ability of a central processing unit (CPU) to execute multiple processes or threads concurrently, supported by the operating system. So the speed of file processing depends on the number of CPUs.
Peer-to-peer solutions like Resilio Connect are free of any kind of CPU limitations. The more peers are available, the higher processing speed is.
Robocopy and Files
Robocopy works initially with folders. If you need to synchronize or backup a file, it takes additional effort. Files need to be selected or excluded using the optional filespec filtering argument. Filespecs can only refer to the filenames relative to the folders already selected for copying. Fully-qualified path names are not supported. It also implies dealing with errors. This behavior is a drawback when dealing with particular files within a large folder hierarchy.
Most other tools, including Resilio Connect, rsync, and other vendor-specific utilities work with both files and folders.
Robocopy and Large File Size
Robocopy cannot handle terabyte-sized files. Windows has a certain amount of memory pool space that it can allocate to programs, if the program uses all the memory available from that pool, errors start occurring.
Resilio Connect optimizes the checksum calculations so that it can sync files of any size very fast, eliminating entirely the file size limitation.
Robocopy and SSH
Robocopy does not encrypt its connections and there is no way to configure SSH within the tool. It requires users to install and configure additional encryption channels such as SSH or VPN. Using additional channels means constantly managing and supporting configuration changes and other implementation complexities.
Any good Robocopy replacement should include encryption, so no additional products are required. The Connect uses AES128 in CTR mode to encrypt all the traffic that is sent between clients, including both data and all the control traffic.
Robocopy and Throttle Bandwidth/Limit Bandwidth
Robocopy is able to throttle bandwidth, but the delay parameter of the desired bandwidth speed must be calculated by a user according to the special formula. In practice, however, some experimentation is required to find a suitable delay, due to factors such as the nature and volume of other traffic on the network. Moreover, these factors are constantly changing, so get ready to monitor your network and tweak the bandwidth parameters for optimal results.
Resilio Connect throttles bandwidth per job and with optimal dynamic parameters so that user doesn’t need to monitor and configure the settings.
Robocopy has several known bugs like infinite loops while copying folders that are actually junction or reparse points.
ֿAnother common bug is not being able to mirror properly on systems older than Vista. Moreover, if a folder could not be processed properly, Robocopy produces infinite loops, which have to be canceled and fixed manually.
For multithreading, copying the progress bar is missing. With large size files, a user is not able to track the progress of copying for a long time period. Hence, real-time synchronization is not possible.
With Resilio Connect, you can track the progress of all operations simultaneously and in real-time thanks to its GUI, and it’s free of these types of bugs.
Overall, if one needs more robust and scalable solution, Resilio Connect alleviates many of the limitations of Robocopy. Its peer-to-peer synchronization technology, rebuilt for the enterprise, offers significant performance improvements over Robocopy in all sorts of scenarios. Below is a feature-by-feature comparison for your convenience.
|Large files size||+||–|
Interested in seeing if Connect will handle your jobs better than Robocopy? Talk to our friendly chatbot on the right to set up a call with our team or fill out a demo request below.