RSync - Use Cases
Here is a list of possible use cases for RSync:
- Backup of data
- Restoring backed up data
- Resumable upload
- Resumable download
- Incremental Versioning
The primary use case for RSync is to backup data from clients to a server. Of course this use case also includes restoring the data if necessary.
A secondary use case for RSync would be to implement resumable uploads and downloads. If you start a file upload via RSync, and the connection fails halfway through the file, you can resume the upload by pretending to RSync the same file again. RSync will then compare the full file on the client, to the half file on the server, and find that the last half is missing, and start sending the second half of the file. The same is true for downloads.
You could also use RSync to implement incremental file versioning. By incremental file versioning I mean keeping different versions of the same file, but rather than keeping the full version of each file, you could just keep the RSync merge instructions needed to go from one file version to another. Thus, you just keep the "incrementation" from one version to another.