On Mon, 2008-06-02 at 13:45 -0700, Matt McCutchen wrote: > On Mon, 2008-06-02 at 11:27 -0700, Tony Mantler wrote: > > 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. > > First, you should use an rsync daemon if you aren't already; with the > remote shell mode, you have to get the server arguments across the > socket yourself, whereas the daemon protocol takes care of that.
The program I have handles that fairly well, actually. It's not too far removed from complete rsh functionality. > There's an enhancement request for a "&3::module/src/" syntax to make > the client access a daemon over a socket supplied on a fd: > > https://bugzilla.samba.org/show_bug.cgi?id=5220 That's pretty much exactly what I'm looking for. It's a shame it's just sitting as an enhancement request, but I suppose the need for it is fairly rare. > In the absence of this enhancement, you can accomplish the same thing > using the RSYNC_CONNECT_PROG environment variable (or --rsh, but > RSYNC_CONNECT_PROG is slightly more convenient). Have the > RSYNC_CONNECT_PROG inherit the socket from rsync and bridge the socket > to its own stdin/stdout for use by rsync. Here's an example, assuming > the socket is already on fd 3 of the shell: > > RSYNC_CONNECT_PROG='cat >&3 & cat <&3; wait' rsync -a foo::module/src/ dest/ > > The hostname, here "foo", doesn't matter, since RSYNC_CONNECT_PROG > overrides it. That probably won't work very well in my case. -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html