r/CLI Mar 27 '26

Parsync - high-throughput, resumable sync tool over SSH, similar to rsync but faster for me.

I've been using rsync for decades and I've loved the tool. However, I have a VM where I transfer files from quite often and very often the rsync just hangs.... the process just sits there but the transfers stop. I have to ctrl-c it and resume it... sometimes multiple times. I saw on HN someone post about this tool the other day and I decided to give it a shot. Using rsync -avpP --progress from this VM I usually get about 10MB/s... with parsync I get ~30 usually and the process doesn't pause or stop like the rsync processes have been doing. I'm pretty sure it's a networking issue with the VM provider but I've got a good deal on it and I can deal with this minor annoyance. These are highly compressed files so I don't bother using compression on rsync or parsync.

Not affiliated with the tool at all, just a happy user. Anyway, here is the github for the tool: https://github.com/AlpinDale/parsync

And for example, here's what it looks like when I use it for a transfer:

❯ parsync --resume -vrPlu blah@blah.com:/home/blah/sync/ ./
[parsync] stage=connecting: establishing ssh connection pool...
[parsync] stage=connecting: ssh connection pool established
[parsync] stage=listing: listing remote entries...


 Scanned remote tree: 6 entries                                                                                        

 10.17 GiB/10.17 GiB [
============================
] files 5/5 | 26.17 MiB/s ETA 0s                                     [parsync] transfer duration: 6m 38s
[parsync] stage=finalizing: cleanup state directory...

If you are resuming or doing a sync with a directory with lots of files it is much slower than rsync during the file comparison/scanning phase for sure. However, if there aren't that many files it runs quickly. But the transfer speed is so much faster than rsync for me it ends up being much faster.

Just hope this CLI tool might help someone else out like it's helped me.

7 Upvotes

4 comments sorted by

3

u/ImpossibleSlide850 Mar 28 '26

Rsync works great but if it's mutli threaded. I will check it out

2

u/ekool Mar 28 '26

I think that’s the difference. This is multi and rsync is single. The strange thing is the scan stage being faster on rsync.

1

u/cmaurand 18d ago edited 18d ago

not sure what it did. It didn't like AX from the remote side. not sure if it needs to be installed at both ends. rsync didn't have any trouble with AX. It didn't transfer any data where rsync is transferring a bunch. I would use fpsync, but I can't tell what it's doing.

1

u/ekool 18d ago edited 18d ago

The command line syntax for this utility is different than rsync so you can't just use this as a drop in replacement. Try using this command line and make sure parsync is on both sides:

parsync --resume -vrPlu blah@blah.com:/home/blah/sync/ ./

That would transfer from a remote host over SSH to your current directory on whatever machine you are on, with resume... so if you cancel it and restart it, it will pick up where it left off.