What is Robocopy for Microsoft Windows?
Introduced with the Windows NT 4.0 Resource Kit in the mid 90’s, Robocopy has become the de facto file copy tool for Windows environments. Robocopy (Robust File Copy) is a command-line tool for copying files, folders, and drives to and from Microsoft Windows systems. Robocopy is an improved version of the xcopy and copy commands used in Microsoft Windows.
Robocopy Drawbacks
While Robocopy works well for copying files and folders in Microsoft Windows environments, there are a number of administration challenges.
In summary, these drawbacks include:
- Microsoft Windows only: Robocopy does not support copying files and folders to Linux, Mac, or other systems.
- Complexity: Administrators need to familiarize themselves with Robocopy syntax and feel comfortable using the command line for scripting copy jobs.
- Buggy: Robocopy is notorious for bugs.
- No real-time replication support. Robocopy is manually driven and does not automatically copy changed data in real-time.
A Robocopy Alternative: Resilio Connect
Unlike Robocopy, Resilio Connect is cross-platform: Resilio supports Mac, Windows, Linux, and other platforms, too. So if you’re looking for an easy-to-use, reliable, real-time alternative to Robocopy, check out Resilio Connect. All transfers and sync jobs are centrally managed and controlled through an easy-to-use management console that runs on Windows (and optionally Linux).
Why Resilio Connect instead of Robocopy?
Resilio Connect is a superior alternative to Robocopy when enterprise customers require:
- Ease of use: Through an easy to use graphical user interface in the Resilio Connect Management Console, all jobs for copying, synchronizing, scripting, and moving files and folders can be easily configured and centrally monitored and managed.
- Real-time synchronization of files anywhere in the world, where updates are efficiently captured and propagated in (near) real-time.
- Cross-platform support is not limited to Windows 10 and other versions of Windows and Windows Server. Connect works well copying files from across Windows, Mac, Linux, Android, and some NAS platforms as well.
- Scalability to support large capacity file systems (measured in TBs and PBs) containing many files (sometimes measured in millions) of varying file sizes (small to very large).
- Flexible N-way synchronization (uni- , bi- , multi-directional, or full mesh).
- Moving data over unreliable networks such as cell, sat, or WANs: Resilio Connect is WAN-optimized and versatile for use over any network, with built-in compression, delta detection, and efficient recovery from failures to minimize data transfer.
- Centralized management: Resilio Connect enables all jobs to be centrally managed and easily configured for Distribution, Sync, Consolidation, and Scripting.
- Log files, events, notifications–are all centrally managed.
- Automation: all data movement jobs can be automated, scheduled, scripted, or integrated into workflows through a complete REST API.
- Multi-cloud-ready with your cloud storage vendor of choice–for on-prem, hybrid, or cloud native deployments.
Robocopy vs. Rsync
Robocopy is the Windows alternative to the well-known, open source, Linux-based “rsync”. Both Robocopy and Rsync are designed for reliable copying while maintaining file metadata such as permissions, extended attributes, owner information, timestamps, and properties of the objects copied.
Robocopy Moves Files
Robocopy is able to:
- Move folders/files with content to different locations.
- Mirror folders/files using the /mir command.
- Perform recursive folder copying.
- Maintain folder and files attributes.
The functionality of Robocopy to move files is quite simple. The tool is usually used in order to synchronize (/mir) data and to distribute files and changes.
Robocopy Features
When considering an alternative for Robocopy, it’s important to consider both its capabilities and drawbacks. Robocopy has a set of basic capabilities such as:
- Tolerating network interruptions and resuming copying.
- Skipping NTFS junction points which can cause copying failures due to infinite loops.
- Retaining folder metadata: copy file data and attributes correctly, preserve original timestamps, as well as NTFS ACLs, and 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.
Robocopy Challenges and Solutions
As stated earlier, using Robocopy to move files has some known limitations and bugs. Robocopy is a decent solution for a single user sharing a few files within their Windows environment. However, when broader use and scalability are desired across and enterprise, or between organizations, Robocopy alternatives should be considered.
Robocopy Operating Systems Limitations
Moving files with Robocopy only works with Windows. If some of your machines use other operating systems, such as Linux or Mac, you won’t be able to use Robocopy on those platforms.
Resilio Connect is cross-platform, running on Windows, Mac, and Linux, among other platforms. With Resilio Connect, it’s easy to centrally manage synchronization and transfer jobs across multiple platforms.
Robocopy Performance vs. Resilio Connect
The only way to speed up Robocopy is to scale-up within a single system through multithreading. Multithreading is the ability of a CPU to execute multiple processes or threads concurrently, as supported by the operating system. So the speed of file processing with Robocopy depends on the type and number of CPUs within a single system. Transfer performance will be limited by the CPU and bandwidth available to a single system.
Conversely, Resilio Connect utilizes a scale-out architecture, where transfer performance can be increased as systems (peers) are added to the job. Adding more systems running Resilio Connect agents increases transfer and synchronization performance.
Robocopy Moves Files
By default, Robocopy works within specified folders. If you need Robocopy to exclusively sync only files or folders, this takes some additional effort. To move files using Robocopy, 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. Robocopy syntax also requires error handling. This behavior poses challenges to copying a subset of files within a large folder hierarchy.
Most other Robocopy alternatives, including Resilio Connect, rsync, and other vendor-specific utilities work with both files and folders.
Robocopy File Size Limit
Robocopy can experience file size limitations, as Robocopy can’t handle large terabyte-sized files. Windows has a finite amount of memory pool space that can be allocated to programs such as Robocopy; if the program uses all the memory available from that pool, errors start occurring.
Resilio Connect, as an alternative to Robocopy, optimizes the checksum calculations so that Resilio Connect can sync files of any size, eliminating entirely the file size limitation seen with Robocopy and enabling exceptionally fast file transfer speeds for files of any size.
Robocopy and SSH
Robocopy does not encrypt its connections: there is no way to configure SSH within Robocopy. Thus, Robocopy requires users to install and configure additional encryption channels such as SSH or VPNs. Using additional channels adds complexity such as managing and supporting configuration changes and other implementation details.
A good Robocopy alternative should include native encryption and not rely on 3rd-party products. Resilio Connect uses AES256 in CTR mode to encrypt all traffic sent between endpoints, including all data and 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 best practices. 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 be prepared to monitor your network and tweak bandwidth parameters for optimal results when using Robocopy vs. alternatives.
Resilio Connect throttles bandwidth per job and with optimal dynamic parameters automatically; users don’t need to monitor and configure these settings.
Robocopy Bugs
Robocopy has several known bugs like infinite loops while copying folders based on junction or reparse points in Windows NTFS.
ֿAnother common bug in Robocopy is mirroring files and folders on systems older than Windows Vista. If a folder is not processed properly, Robocopy produces infinite loops, which have to be manually canceled and fixed.
For multithreading, tracking a job’s progress using the visual copying progress bar is missing. With large size files, a user is also not able to track the copy job progress. Hence, real-time Robocopy synchronization is not possible.
With Resilio Connect, you can track the progress of all operations simultaneously and in real-time thanks to an easy-to-use and reliable graphical user interface.
Resilio Connect vs. Robocopy
Overall, if you’re looking for a reliable, easy to use, and cross-platform Robocopy alternative, Resilio Connect offers a superior alternative to Robocopy. Through real-time data synchronization purpose-built for the enterprise, Resilio Connect significantly improves performance over Robocopy.
Here’s a quick feature-by-feature comparison between Robocopy and Resilio Connect.
Feature | Resilio Connect | Robocopy |
Delta encoding | ✔ | ✔ |
Compression | ✔ | ✔ |
Dynamic routing | ✔ | |
Encryption | ✔ | |
WAN optimization | ✔ | |
All OS | ✔ | |
1M+ files | ✔ | |
Large files size | ✔ | |
Real-time | ✔ |
Are you interested in learning more to see if Resilio Connect is the Robocopy replacement or alternative you’ve been looking for?
Or, would you prefer to schedule a Resilio Connect demo or start a free trial to see how much faster your syncing could be.