Rsync over HTTP(S)
rsync is a utility, traditionally available on *NIX (Unix, Mac, Linux) operating systems, for efficiently transferring and synchronizing files. rsync uses a proprietary protocol, which works on TCP port 873. Transport level security is typically provided by tunneling the rsync protocol over SSH, which is also natively supported on Linux/Unix machines.
Running SSH on Windows is not supported natively. Therefore, providing a secure communication channel is not very simple. This is where HTTP(S) comes handy, which provides following benefits:
- Firewall friendly - most companies allow port 443 (HTTPS) in and out of their organization.
- Transport layer security is provided by SSL when using HTTPS
- Users can use a web browser to access files on the remote machine
How rsync Works
- Before transferring a file, both ends (source and destination) break the file into small chunks and compute their MD5 signatures
- These signatures are then matched to compute a delta, which represents the modified block on the source machine
- This delta is then sent to the destination over the network, which is usually significantly smaller than the actual file
- The destination end merges the incoming delta with its copy to recreate the file on the source
How Syncrify Can Help
Syncrify uses the rsync algorithm over HTTP protocol, which brings in a whole bunch of features that are not available when using rsync alone. For example, with Syncrify you can:
- Have reports showing what files that were synchronized
- Email alerts once a backup/synchronization job completes
- Built-in versioning, which stores previous versions as delta.
- Ability to access files on destination through a web browser or a mobile device.
- Alerts if a schedule jobs is missed