You might use elasticlone for that. It supports bulk copying from a server to another server, with timeouts and retry. It also has couple useful options. It is also written in Go so ships to a single binary that can be used directly in most operating systems.