-# NAME
+## NAME
rsync-ssl - a helper script for connecting to an ssl rsync daemon
-# SYNOPSIS
+## SYNOPSIS
```
rsync-ssl [--type=SSL_TYPE] RSYNC_ARGS
```
-# DESCRIPTION
+## DESCRIPTION
The rsync-ssl script helps you to run an rsync copy to/from an rsync daemon
that requires ssl connections.
it in the normal spot in the URL format, though both of those require your
rsync version to be at least 3.2.0.
-# OPTIONS
+## OPTIONS
If the **first** arg is a `--type=SSL_TYPE` option, the script will only use
that particular program to open an ssl connection instead of trying to find an
All the other options are passed through to the rsync command, so consult the
**rsync**(1) manpage for more information on how it works.
-# ENVIRONMENT VARIABLES
+## ENVIRONMENT VARIABLES
The ssl helper scripts are affected by the following environment variables:
connection type is set to stunnel. If unspecified, the $PATH is searched
first for "stunnel4" and then for "stunnel".
-# EXAMPLES
+## EXAMPLES
> rsync-ssl -aiv example.com::mod/ dest
> rsync-ssl -aiv rsync://example.com:9874/mod/ dest
-# SEE ALSO
+## SEE ALSO
**rsync**(1), **rsyncd.conf**(5)
-# CAVEATS
+## CAVEATS
Note that using an stunnel connection requires at least version 4 of stunnel,
which should be the case on modern systems. Also, it does not verify a
that bug has been fixed in your version, feel free to put gnutls into an
exported RSYNC_SSL_TYPE environment variable to make its use the default.
-# BUGS
+## BUGS
Please report bugs! See the web site at <https://rsync.samba.org/>.
-# VERSION
+## VERSION
This man page is current for version @VERSION@ of rsync.
-# CREDITS
+## CREDITS
rsync is distributed under the GNU General Public License. See the file
COPYING for details.
A web site is available at <https://rsync.samba.org/>. The site includes an
FAQ-O-Matic which may cover questions unanswered by this manual page.
-# AUTHOR
+## AUTHOR
This manpage was written by Wayne Davison.
-# NAME
+## NAME
rsync - a fast, versatile, remote (and local) file-copying tool
-# SYNOPSIS
+## SYNOPSIS
```
Local:
Usages with just one SRC arg and no DEST arg will list the source files instead
of copying.
-# DESCRIPTION
+## DESCRIPTION
Rsync is a fast and extraordinarily versatile file copying tool. It can copy
locally, to/from another host over any remote shell, or to/from a remote rsync
- pipelining of file transfers to minimize latency costs
- support for anonymous or authenticated rsync daemons (ideal for mirroring)
-# GENERAL
+## GENERAL
Rsync copies files either to or from a remote host, or locally on the current
host (it does not support copying files between two remote hosts).
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
+## SETUP
See the file README.md for installation instructions.
Note that rsync must be installed on both the source and destination machines.
-# USAGE
+## USAGE
You use rsync in the same way you use rcp. You must specify a source and a
destination, one of which may be remote.
See the following section for more details.
-# ADVANCED USAGE
+## ADVANCED USAGE
The syntax for requesting multiple files from a remote host is done by
specifying additional remote-host args in the same style as the first, or with
This word-splitting only works in a modern rsync by using `--old-args` (or its
environment variable) and making sure that `--protect-args` is not enabled.
-# CONNECTING TO AN RSYNC DAEMON
+## CONNECTING TO AN RSYNC DAEMON
It is also possible to use rsync without a remote shell as the transport. In
this case you will directly connect to a remote rsync daemon, typically using
will be used to run the RSYNC_CONNECT_PROG command instead of using the default
shell of the **system()** call.
-# USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION
+## USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION
It is sometimes useful to use various features of an rsync daemon (such as
named modules) without actually allowing any new socket connections into a
The "ssh-user" will be used at the ssh level; the "rsync-user" will be used to
log-in to the "module".
-# STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS
+## STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS
In order to connect to an rsync daemon, the remote system needs to have a
daemon already running (or it needs to have configured something like inetd to
If you're using one of the remote-shell transports for the transfer, there is
no need to manually start an rsync daemon.
-# SORTED TRANSFER ORDER
+## SORTED TRANSFER ORDER
Rsync always sorts the specified filenames into its internal transfer list.
This handles the merging together of the contents of identically named
`--delay-updates` (which doesn't affect the sorted transfer order, but does
make the final file-updating phase happen much more rapidly).
-# EXAMPLES
+## EXAMPLES
Here are some examples of how I use rsync.
This is launched from cron every few hours.
-# OPTION SUMMARY
+## OPTION SUMMARY
Here is a short summary of the options available in rsync. Please refer to the
detailed description below for a complete description.
--help, -h show this help (when used with --daemon)
```
-# OPTIONS
+## OPTIONS
Rsync accepts both long (double-dash + word) and short (single-dash + letter)
options. The full list of the available options are described below. If an
user wants a more random checksum seed. Setting NUM to 0 causes rsync to
use the default of **time**() for checksum seed.
-# DAEMON OPTIONS
+## DAEMON OPTIONS
The options allowed when starting an rsync daemon are as follows:
When specified after `--daemon`, print a short help page describing the
options available for starting an rsync daemon.
-# FILTER RULES
+## FILTER RULES
The filter rules allow for flexible selection of which files to transfer
(include) and which files to skip (exclude). The rules either directly specify
command-line, use the merge-file syntax of the `--filter` option, or the
`--include-from` / `--exclude-from` options.
-# INCLUDE/EXCLUDE PATTERN RULES
+## INCLUDE/EXCLUDE PATTERN RULES
You can include and exclude files by specifying patterns using the "+", "-",
etc. filter rules (as introduced in the FILTER RULES section above). The
xattr-matching rules are specified, a default xattr filtering rule is used
(see the `--xattrs` option).
-# MERGE-FILE FILTER RULES
+## MERGE-FILE FILTER RULES
You can merge whole files into your filter rules by specifying either a merge
(.) or a dir-merge (:) filter rule (as introduced in the FILTER RULES section
command-line option and instead insert a "-C" rule into your filter rules; e.g.
"`--filter=-C`".
-# LIST-CLEARING FILTER RULE
+## LIST-CLEARING FILTER RULE
You can clear the current include/exclude list by using the "!" filter rule (as
introduced in the FILTER RULES section above). The "current" list is either
options) or a set of per-directory rules (which are inherited in their own
sub-list, so a subdirectory can use this to clear out the parent's rules).
-# ANCHORING INCLUDE/EXCLUDE PATTERNS
+## ANCHORING INCLUDE/EXCLUDE PATTERNS
As mentioned earlier, global include/exclude patterns are anchored at the "root
of the transfer" (as opposed to per-directory patterns, which are anchored at
look at the output when using `--verbose` and put a / in front of the name
(use the `--dry-run` option if you're not yet ready to copy any files).
-# PER-DIRECTORY RULES AND DELETE
+## PER-DIRECTORY RULES AND DELETE
Without a delete option, per-directory rules are only relevant on the sending
side, so you can feel free to exclude the merge files themselves without
> rsync -avFF --delete host:src/dir /dest
> ```
-# BATCH MODE
+## BATCH MODE
Batch mode can be used to apply the same set of updates to many identical
systems. Suppose one has a tree which is replicated on a number of hosts. Now
The original batch mode in rsync was based on "rsync+", but the latest
version uses a new implementation.
-# SYMBOLIC LINKS
+## SYMBOLIC LINKS
Three basic behaviors are possible when rsync encounters a symbolic
link in the source directory.
0. `--links --safe-links` Duplicate safe symlinks and skip unsafe ones.
0. `--links` Duplicate all symlinks.
-# DIAGNOSTICS
+## DIAGNOSTICS
rsync occasionally produces error messages that may seem a little cryptic. The
one that seems to cause the most confusion is "protocol version mismatch -- is
`-vv` option. At this level of verbosity rsync will show why each individual
file is included or excluded.
-# EXIT VALUES
+## EXIT VALUES
0. **0** Success
0. **1** Syntax or usage error
0. **30** Timeout in data send/receive
0. **35** Timeout waiting for daemon connection
-# ENVIRONMENT VARIABLES
+## ENVIRONMENT VARIABLES
0. `CVSIGNORE`
The HOME environment variable is used to find the user's default .cvsignore
file.
-# FILES
+## FILES
/etc/rsyncd.conf or rsyncd.conf
-# SEE ALSO
+## SEE ALSO
**rsync-ssl**(1), **rsyncd.conf**(5)
-# BUGS
+## BUGS
times are transferred as \*nix time_t values
Please report bugs! See the web site at <https://rsync.samba.org/>.
-# VERSION
+## VERSION
This man page is current for version @VERSION@ of rsync.
-# INTERNAL OPTIONS
+## INTERNAL OPTIONS
The options `--server` and `--sender` are used internally by rsync, and should
never be typed by a user under normal circumstances. Some awareness of these
rsync distribution has an example script named rrsync (for restricted rsync)
that can be used with a restricted ssh login.
-# CREDITS
+## CREDITS
rsync is distributed under the GNU General Public License. See the file
COPYING for details.
This program uses the excellent zlib compression library written by Jean-loup
Gailly and Mark Adler.
-# THANKS
+## THANKS
Special thanks go out to: John Van Essen, Matt McCutchen, Wesley W. Terpstra,
David Dykstra, Jos Backus, Sebastian Krahmer, Martin Pool, and our
Thanks also to Richard Brent, Brendan Mackay, Bill Waite, Stephen Rothwell and
David Bell. I've probably missed some people, my apologies if I have.
-# AUTHOR
+## AUTHOR
rsync was originally written by Andrew Tridgell and Paul Mackerras. Many
people have later contributed to it. It is currently maintained by Wayne
-# NAME
+## NAME
rsyncd.conf - configuration file for rsync in daemon mode
-# SYNOPSIS
+## SYNOPSIS
rsyncd.conf
-# DESCRIPTION
+## DESCRIPTION
The rsyncd.conf file is the runtime configuration file for rsync when run as an
rsync daemon.
The rsyncd.conf file controls authentication, access, logging and available
modules.
-# FILE FORMAT
+## FILE FORMAT
The file consists of modules and parameters. A module begins with the name of
the module in square brackets and continues until the next module begins.
quotes needed) or a boolean, which may be given as yes/no, 0/1 or true/false.
Case is not significant in boolean values, but is preserved in string values.
-# LAUNCHING THE RSYNC DAEMON
+## LAUNCHING THE RSYNC DAEMON
The rsync daemon is launched by specifying the `--daemon` option to
rsync.
Note that you should **not** send the rsync daemon a HUP signal to force it to
reread the `rsyncd.conf` file. The file is re-read on each client connection.
-# GLOBAL PARAMETERS
+## GLOBAL PARAMETERS
The first parameters in the file (before a [module] header) are the global
parameters. Rsync also allows for the use of a "[global]" module name to
You can override the default backlog value when the daemon listens for
connections. It defaults to 5.
-# MODULE PARAMETERS
+## MODULE PARAMETERS
After the global parameters you should define a number of modules, each module
exports a directory tree as a symbolic name. Modules are exported by specifying
**system()** call's default shell), and use RSYNC_NO_XFER_EXEC to disable
both options completely.
-# CONFIG DIRECTIVES
+## CONFIG DIRECTIVES
There are currently two config directives available that allow a config file to
incorporate the contents of other files: `&include` and `&merge`. Both allow
stay in effect), and then include any `/etc/rsyncd.d/*.conf` files (defining
modules without any global-value cross-talk).
-# AUTHENTICATION STRENGTH
+## AUTHENTICATION STRENGTH
The authentication protocol used in rsync is a 128 bit MD4 based challenge
response system. This is fairly weak protection, though (with at least one
You can also make use of SSL/TLS encryption if you put rsync behind an
SSL proxy.
-# SSL/TLS Daemon Setup
+## SSL/TLS Daemon Setup
When setting up an rsync daemon for access via SSL/TLS, you will need to
configure a proxy (such as haproxy or nginx) as the front-end that handles the
> }
> ```
-# EXAMPLES
+## EXAMPLES
A simple rsyncd.conf file that allow anonymous rsync to a ftp area at
`/home/ftp` would be:
> tridge:mypass
> susan:herpass
-# FILES
+## FILES
/etc/rsyncd.conf or rsyncd.conf
-# SEE ALSO
+## SEE ALSO
**rsync**(1), **rsync-ssl**(1)
-# BUGS
+## BUGS
Please report bugs! The rsync bug tracking system is online at
<https://rsync.samba.org/>.
-# VERSION
+## VERSION
This man page is current for version @VERSION@ of rsync.
-# CREDITS
+## CREDITS
rsync is distributed under the GNU General Public License. See the file
COPYING for details.
This program uses the zlib compression library written by Jean-loup Gailly and
Mark Adler.
-# THANKS
+## THANKS
Thanks to Warren Stanley for his original idea and patch for the rsync daemon.
Thanks to Karsten Thygesen for his many suggestions and documentation!
-# AUTHOR
+## AUTHOR
rsync was written by Andrew Tridgell and Paul Mackerras. Many people have
later contributed to it.