- Open Source
- 15 Reviews
- 425 Likes
rsync is a software application for Unix which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar programs/protocols is that the mirroring takes place with only one transmission in each direction. rsync can copy or display directory contents and copy files, optionally using compression and recursion.
In daemon mode, rsync listens on the default TCP port of 873, serving files in the native rsync protocol or via a remote shell such as RSH or SSH. In the latter case, the rsync client executable must be installed on both the local and the remote host.
command-line compressed-backup mirroring
Make this page better by adding screenshots to rsync.
rsync is my favorite tool to transfer files between computers without having to spend a lot of time managing the process. It supports synchronization and is very configurable in order to be added to...See why people like rsync 😍 Post your review
Not long ago I tried to sync between two computers around 500GB of data.
With default rsync -a "source" "dest" I realize that it's taking really too much of time.
"Too much" mean - days. On VPSes with 10Gbit/s uplink and powerful processors.
This is absolutely not okay.
Then, I tried to optimize it and found: https://gist.github.com/KartikTalwar/4393116
Yes, it improves speed dramatically, but not so good as it can be.
Yes, I start to reach around 20-30MB/s, but for 500GB of data, it's not okay.
Then I tried to use a totally different tool (clone) and my speed goes up to 120MB and more (due to some limitations and cap from provider side, it was manually capped to 140-150MB).
Is rsync good? Yes. Is it fast? No. Is it saves time? Depends. Is it good for file transfer (many files and massive drives?) No. Is it good for backups? Dunno. Are there any faster alternatives? Yes, a lot of them.
rsync is my favorite tool to transfer files between computers without having to spend a lot of time managing the process. It supports synchronization and is very configurable in order to be added to some scripts you might already be using.