From manpage of rsync
SYNOPSIS
Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
Usages with just one SRC arg and no DEST arg will list the source files instead of copying
GENERAL
...
Rsync refers to the local side as the "client" and the remote side as the "server". Don't confuse "server" with an rsync daemon -- a daemon is always a server, but a server can be either a daemon or a remote-shell spawned process.
SETUP
See the file README for installation instructions.
Once installed, you can use rsync to any machine that you can access via a remote shell (as well as some that you can access using the rsync daemon-mode protocol). For remote transfers, a modern rsync uses ssh for its communications, but it may have been configured to use a different remote shell by default, such as rsh or remsh.
You can also specify any remote shell you like, either by using the -e command line option, or by setting the RSYNC_RSH environment variable.
Note that rsync must be installed on both the source and destination machines.
From synopsis, rsync can be used for
file transferring between local and remote or between local and local.
When transferring files between local and remote,
access via remote shell
access via rsync daemon
listing the source files
My questions are
When transferring files between local and remote by accessing via rsync daemon, is the remote host required to run rsync as a daemon?
When transferring files between local and remote by accessing via a remote shell, does the remote host need to run rsync? If yes, does the remote host run rsync as a server but not as a daemon, or just as the local host runs rsync as a client?
When transferring files within the local host, does the local host need to run a rsync client and a rsync server?
When listing the source files instead of copying, if the source is in a remote host, does the remote host need to run rsync as a server or daemon?
Which use cases does "Note that rsync must be installed on both the source and destination machines" apply to, and not apply to, respectively?
In the GENERAL part, "a server can be either a daemon or a remote-shell spawned process". Does a remote host running rsync as a server as "a remote-shell spawned process" mean that the remote host runs rsync in the same way as the local host runs rsync?
Note that source and destination hosts can be either local or remote hosts.