RSYNC, a fast, versatile and open source utility that enables users to copy and synchronize files locally and between computers over a network, has limitations when it comes to open or locked files. Generally, RSYNC is not designed to handle open files in the traditional sense.
This stems from the fact that RSYNC doesn’t directly support the copying of open (i.e., currently in use) or locked files (i.e., files that are restricted for simultaneous access). When it encounters open or locked files during the process of copying or synchronization, RSYNC may not successfully copy the current state of these files. It is especially prevalent in the Windows operating system where open and locked files are commonplace, which can complicate the use of RSYNC.
One exemplary scenario is that when a file is being written to during an RSYNC process, there is potential for the copied file to be inconsistent or corrupt because the source file was changing during the transfer. This can be particularly problematic for database files or other files which are frequently written to, and can lead to incomplete or faulty backups or transfers if not properly managed (source: atpinc.com).
While there are several workarounds for this limitation (such as using Shadow Copy with RSYNC on Windows, or copy-on-write filesystems on Linux), these are not part of the base functionality of RSYNC and therefore require additional setup and management. These solutions can also present their own issues or complexities, such as increased resource usage or potential for data inconsistency if not implemented correctly.
For instance, the LVM snapshots feature in Linux can be used to copy open files. By making a snapshot of the filesystem, which takes only a few seconds, even very large files that were open and being written to at the time can be backed up using RSYNC successfully. The problems here are that this increases the complexity of the backup procedure and storage space is needed for the snapshots (source: community.spiceworks.com).
Shadow Copy, on the other hand, is a technology included in Microsoft Windows that creates backup copies or snapshots of computer files even when they are in use (source: docs.microsoft.com). It is relatively easy to use and allows you to copy files that are locked or in use by the system. Though, still, this method adds an additional layer of complexity and potential points of failure to your backup process.
In conclusion, while RSYNC is an incredibly powerful tool for file copying and synchronization, it isn’t perfectly suited for all situations. Specifically, handling open or locked files is a known limitation of RSYNC, requiring additional tools or methods to operate in these scenarios reliably.