I have to live with a rather complicated setup, which I can't change. It's like so:
Objective: rsync files from a USB drive on network1 to a linux server on network2 where the only connection between the two networks goes through a Windows terminal server (ts) located on network2, but which allows remote desktop (rdp) connections from network1.
Originally, I could connect to network2 from network1 via VPN, attach the USB drive to my computer (Windows), and execute rsync to the linux server on network2. This worked fairly fast and only took a few minutes. Now it has been decided that VPN is not allowed, and we have to go via a terminal server. So, I rdp to the ts and share my USB drive as a local device, and I execute rsync on the ts. It reads the files on my USB and syncs them to the linux server, but now the whole process takes 10-12 hours. Just copying all files (drag'n'drop) takes a couple of hours less. I suspect the reason for the slowness is when the ts determines which files to sync, i.e. stepping through the dirs and files.
My rsync arguments are: -avz --size-only
I hope someone has an idea I could try out. Many thanks!