rsync over stdin/stdout

Tony Mantler Tony.Mantler at
Mon Jun 2 18:27:15 GMT 2008

So I've got this situation where I have two systems connected via a
protocol that looks nothing at all like IP, and I'd like to be able to
rsync between them.

I can, though, open a perfectly normal looking socket through various
magic and trickery.

I've managed to get rsync to work by using the "rsync
--rsh=mymagictransportprogram" style invocation, but for a number of
reasons this isn't really a viable long-term solution for me. What I'd
like to be able to do is either:

A: Set up stdin/stdout and exec rsync with some options that tell it
that there's a remote rsync on the other end of those FDs, or

B: Call rsync as a library, passing it a socket and directory(^Hies) to
sync with. (librsync doesn't seem to be quite what I want)

Basically I need to set up the socket beforehand and then hand it to
rsync somehow. This seems to be possible on the 'remote' end, but I
haven't managed to figure out how to do on the initiation side.

More information about the rsync mailing list