Skip to content

Commit c3469ae

Browse files
author
Martin Pool
committed
Notes on an interactive shell for rsync.
1 parent 232ce2b commit c3469ae

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

rsyncsh.txt

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
rsyncsh
2+
Copyright (C) 2001 by Martin Pool
3+
4+
This is a quick hack to build an interactive shell around rsync, the
5+
same way we have the ftp, lftp and ncftp programs for the FTP
6+
protocol. The key application for this is connecting to a public
7+
rsync server, such as rsync.kernel.org, change down through and list
8+
directories, and finally pull down the file you want.
9+
10+
rsync is somewhat ill-at-ease as an interactive operation, since every
11+
network connection is used to carry out exactly one operation. rsync
12+
kind of "forks across the network" passing the options and filenames
13+
to operate upon, and the connection is closed when the transfer is
14+
complete. (This might be fixed in the future, either by adapting the
15+
current protocol to allow chained operations over a single socket, or
16+
by writing a new protocol that better supports interactive use.)
17+
18+
So, rsyncsh runs a new rsync command and opens a new socket for every
19+
(network-based) command you type.
20+
21+
This has two consequences. Firstly, there is more command latency
22+
than is really desirable. More seriously, if the connection cannot be
23+
done automatically, because for example it uses SSH with a password,
24+
then you will need to enter the password every time. We might even
25+
fix this in the future, though, by having a way to automatically feed
26+
the password to SSH if it's entered once.

0 commit comments

Comments
 (0)