.TH "rsync" "1" "4 Aug 2007" "" "" .SH "NAME" rsync \(em a fast, versatile, remote (and local) file-copying tool .SH "SYNOPSIS" .PP .nf 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 .fi .PP Usages with just one SRC arg and no DEST arg will list the source files instead of copying. .PP .SH "DESCRIPTION" .PP 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 daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use. .PP .SH "EXAMPLES" .PP TODO: Adapt the examples from \(lqUSAGE\(rq of the original man page and add some of my own. .PP .SH "CONTENTS/QUICK REFERENCE" .PP This man page is organized into a number of sections, each documenting one aspect of rsync and the options that control it. The listing below doubles as a table of contents for the man page and a quick reference sheet for rsync's options and default behaviors. You may find it helpful to read the overview in the \(lqHow rsync works\(rq section first, as it defines some terminology and will help you understand how each option or behavior fits into the big picture of rsync's operation. .PP Rsync uses the GNU long options package. Many of the command line options have options have two variants, one long and one short (or shorter). Shorter variants are shown in parentheses. Some options only have a long variant. A parameter to a long option can be attached to the option with an \(oq=\(cq as shown or given in a separate argument, like \fI\-\-files\-from FILE\fP, but a parameter to a single-letter option must be given in a separate argument. .PP .nf \fBHow rsync works\fP .PP \fBGeneral options\fP \-\-help (when alone, \-h) show usage and options \-\-version show version and general information \-\-no\-OPTION turn off an implied OPTION (e.g., \-\-no\-D) .PP \fBRemote access methods, protocol, and connection\fP \fBRemote shell\fP \-\-rsh=COMMAND (\-e) specify the remote shell to use \-\-rsync\-path=COMMAND specify the rsync to run on remote machine \-\-protect\-args (\-s) no space-splitting; wildcard chars only \-\-blocking\-io use blocking I/O for the remote shell \fBAccessing an rsync daemon\fP \-\-password\-file=FILE read daemon-access password from FILE \-\-address=ADDRESS bind address for outgoing socket to daemon \-\-port=PORT specify double-colon alternate port number \-\-sockopts=OPTIONS specify custom TCP options \-\-ipv4 (\-4) prefer IPv4 \-\-ipv6 (\-6) prefer IPv6 \fBSingle-use daemon via remote shell\fP \fBPulling multiple sources from a remote host\fP \fBConnection options\fP \-\-protocol=NUM force an older protocol version to be used \-\-bwlimit=KBPS limit connection bandwidth (KBytes/second) \-\-timeout=SECONDS set connection timeout \fBRunning an rsync daemon\fP \-\-daemon run as an rsync daemon \-\-config=FILE specify alternate rsyncd.conf file \-\-no\-detach do not detach from the parent \-\-port=PORT listen on alternate port number \-\-log\-file=FILE override the "log file" setting \-\-log\-file\-format=FMT override the "log format" setting \-\-address, \-\-bwlimit, \-\-sockopts \-v, \-4, \-6, \-h/\-\-help as usual \fBInternal options\fP (\-\-server, \-\-sender) .PP \fBMode of operation\fP \-\-dry\-run (\-n) skip actually modifying destination \-\-list\-only list source files instead of copying them \-\-super receiver attempts super-user activities \-\-fake\-super store/recover privileged attrs using xattrs .PP \fBSource file selection\fP \fBDirectories\fP default: skip \-\-dirs (\-d) transfer directories without recursing \-\-recursive (\-r) recurse into directories \-\-inc\-recursive (\-\-i\-r) allow incremental recursion mode (default) \-\-one\-file\-system (\-x) don't cross filesystem boundaries \fBOther options\fP \-\-relative (\-R) recreate source arg paths in destination \-\-no\-implied\-dirs don't send source arg parent dirs \-\-prune\-empty\-dirs (\-m) prune empty directory chains from file-list \-\-files\-from=FILE read list of source-file names from FILE \-\-from0 (\-0) all *from/filter files are delimited by \e0 \-\-iconv=CONVERT_SPEC request charset conversion of filenames .PP \fBAttributes\fP default: don't change any dest attributes explicitly \fBModification times\fP \-\-times (\-t) preserve modification times \-\-omit\-dir\-times (\-O) don't preserve directory modification times \fBPermissions\fP default: new files get (source & (def-ACL?:~umask)) \-\-executability (\-E) adjust dest perms so executability matches \-\-perms (\-p) preserve permissions \-\-chmod=CHMOD affect file and/or directory permissions \fBOthers\fP \-\-owner (\-o) preserve file owner (super-user only) \-\-group (\-g) preserve file group \-\-numeric\-ids don't map uid/gid values by user/group name \-\-archive (\-a) archive mode; equals \-rlptgoD (no \-H,\-A,\-X) \-\-hard\-links (\-H) preserve hard links as such \-\-acls (\-A) preserve POSIX ACLs (implies \-p) \-\-xattrs (\-X) preserve extended attributes .PP \fBNon-regular files\fP default: skip all \fBSymbolic links\fP \-\-links (\-l) copy symlinks as symlinks \-\-safe\-links skip symlinks that point outside the tree \-\-copy\-links (\-L) transform symlink into referent file/dir \-\-copy\-dirlinks (\-k) transform symlink to dir into referent dir \-\-copy\-unsafe\-links transform symlinks that point outside tree \-\-keep\-dirlinks (\-K) treat symlinked dir on receiver as dir \fBOthers\fP \-\-devices preserve device files (super-user only) \-\-specials preserve special files \-D same as \-\-devices \-\-specials .PP \fBQuick check\fP default: assume data is same if size & mtime equal \-\-modify\-window=SECONDS treat slightly different mtimes as equal \-\-size\-only assume data is same if size equal \-\-checksum (\-c) assume data is same if size & checksum eq. \-\-ignore\-times (\-I) never assume data is same .PP \fBFile transfer mechanics\fP \fBDelta-transfer algorithm\fP \-\-whole\-file (\-W) copy files whole (without delta-transfer) \-\-block\-size=SIZE (\-B) force a fixed size for checksummed blocks \-\-checksum\-seed=NUM set block/file checksum seed (advanced) \fBCompression\fP \-\-compress (\-z) compress transferred file data \-\-skip\-compress=LIST skip compressing files with suffix in LIST \-\-compress\-level=NUM explicitly set compression level \fBDestination file handling\fP \-\-inplace update destination files in-place \-\-append append data onto shorter files \-\-sparse (\-S) handle sparse files efficiently \-\-temp\-dir=DIR (\-T) create temporary files in directory DIR \-\-partial move partially transferred files into place \-\-partial\-dir=DIR keep partially transferred files in DIR \-\-delay\-updates move all updated files into place at end .PP \fBBasis files\fP if no dest file, receiver uses as basis: \-\-copy\-dest=DIR \(em corresponding file under DIR \-\-compare\-dest=DIR ...and skips files matched under DIR \-\-link\-dest=DIR ...and hard-links matched files from DIR \-\-fuzzy (\-y) \(em similarly named dest file in same dir .PP \fBDeletion\fP \-\-delete delete extraneous files from dest dirs \-\-delete\-during (\-\-del) receiver deletes during transfer (default) \-\-delete\-before receiver deletes before xfer, not during \-\-delete\-after receiver deletes after xfer, not during \-\-delete\-delay find deletions during, perform them after \-\-force OK to empty out dir to overwrite w/ non-dir \-\-max\-delete=NUM skip deletions after the NUMth \-\-ignore\-errors don't skip deletion because of I/O error \-\-remove\-source\-files sender removes synchronized files (non-dir) .PP \fBName-based filter rules\fP \fBOptions\fP \-\-filter=RULE add a name-based file exclusion RULE \-F same as \-\-filter='dir-merge /.rsync\-filter' \-F \-F ... and \-\-filter='\- .rsync\-filter' \-\-exclude=PATTERN exclude files whose paths match PATTERN \-\-exclude\-from=FILE read exclude patterns from FILE \-\-include=PATTERN don't exclude files matching PATTERN \-\-include\-from=FILE read don't-exclude patterns from FILE \-\-cvs\-exclude (\-C) add rules to exclude the files CVS would \-\-delete\-excluded excludes don't stop deletion of dest files \fBTypes of filter rules\fP \fBInclude/exclude pattern matching\fP \fBMerge files\fP \fBList-clearing rule\fP \fBAnchoring include/exclude patterns\fP \fBPer-directory merge files and deletion\fP .PP \fBOther filtering\fP \-\-update skip regular files that are newer in dest \-\-ignore\-non\-existing (\-\-existing) skip creating new files in destination \-\-ignore\-existing leave existing dest files alone (not dirs) \-\-min\-size=SIZE don't transfer reg. files smaller than SIZE \-\-max\-size=SIZE don't transfer reg. files bigger than SIZE .PP \fBBackups\fP \-\-backup (\-b) back up overwritten/deleted dest files \-\-suffix=SUFFIX backup suffix (default ~ w/o \-\-backup\-dir) \-\-backup\-dir=DIR make backups into hierarchy based in DIR .PP \fBOutput\fP \-\-verbose (\-v) increase verbosity \-\-quiet (\-q) suppress non-error messages \-\-no\-motd don't show daemon's MOTD (see caveat) \-\-out\-format=FORMAT output updates using the specified FORMAT \-\-itemize\-changes (\-i) show what files and which attrs changed \-\-log\-file=FILE log what we're doing to the specified FILE \-\-log\-file\-format=FMT log updates using the specified FMT \-\-progress show progress during each file transfer \-P same as \-\-partial \-\-progress \-\-stats print some statistics at the end of the run \-\-8\-bit\-output (\-8) leave high-bit chars unescaped in output \-\-human\-readable (\-h) output numbers in a human-readable format .PP \fBBatch mode\fP \-\-write\-batch=FILE write batch FILE with src->dest differences \-\-only\-write\-batch=FILE do so without modifying the destination \-\-read\-batch=FILE apply batch FILE to the destination .fi .PP .SH "HOW RSYNC WORKS" .PP The rsync process you run at the command line is the \fBclient\fP, and the first thing it does is connect to an rsync \fBserver\fP process on the other host involved in the copy. The server may be an rsync daemon or may be invoked via remote shell or simply forked by the client. Depending on which one of the source or destination is remote (they cannot both be remote), one process becomes the \fBsender\fP and the other forks into the \fBreceiver\fP and the \fBgenerator\fP (collectively known as the \fBreceiving side\fP). The sender is responsible for finding and reading source files and sending their data over the connection; the receiving side is responsible for writing the data to the destination according to your options. .PP The sender begins by scanning all the source arguments you specified (according to any filter rules you may have supplied) and building the \fBfile list\fP. Each file rsync is to process has an entry in the file list giving its attributes and the path at which it is to be placed inside the destination (the \fBfile-list path\fP). The sender sends the file list to the receiving side, and all three processes refer to it throughout their operation. .PP Next, the generator acts on each entry in the file list. It creates non-regular files immediately using just the information in the file list. For each regular file, it compares the source attributes from the file list to the attributes of the existing destination file (if any) and uses a \fB"quick check"\fP rule to decide whether to assume that the existing destination file already has the same data as the source file. If the check passes, the generator applies any \fBpreserved\fP source attributes to the destination file (\fBtweaks\fP it) and moves on. .PP Otherwise, the generator tells the sender that the file needs to be transferred, splits the existing destination file (the \fBbasis file\fP) into blocks, and gives the sender the checksum of each block. The sender reads the source file, identifies any regions that match the block checksums, and gives the receiver a combination of \fBliteral data\fP from the source file and instructions to reuse certain blocks of the basis file (\fBmatched data\fP); this is the heart of the \fBdelta-transfer algorithm\fP. The receiver reconstructs the source data in a temporary file, applies preserved attributes, and finally moves the temporary file into place. This entire process is a \fBfile transfer\fP, and there are several options that change how it is carried out. .PP When the generator visits a source file whose corresponding destination file does not yet exist, it can optionally look in \fBalternate basis directories\fP for a basis file to use. And when it visits a destination directory, it can optionally delete \fBextraneous\fP files from it that have no counterparts in the source. Rsync can also back up old destination files before overwriting or deleting them, and it offers a number of possibilities for logging what it does. .PP .SH "GENERAL OPTIONS" .PP .IP "\fB\-\-help\fP" Print a help page describing the usages and options available in rsync and exit. For backward-compatibility with older versions of rsync, the help will also be output if you use the \fB\-h\fP option without any other args. .IP .IP "\fB\-\-version\fP" Print the rsync version number, protocol number, capabilities, and some other general information and exit. .IP .IP "\fB\-\-no\-\fP\fIOPTION\fP" You may turn off one or more implied options by prefixing the option name with \(lqno\-\(rq. Not all options may be prefixed with a \(lqno\-\(rq: only options that are implied by other options (e.g., \fB\-\-no\-D\fP, \fB\-\-no\-perms\fP) or have different defaults in various circumstances (e.g., \fB\-\-no\-whole\-file\fP, \fB\-\-no\-blocking\-io\fP, \fB\-\-no\-dirs\fP). You may specify either the short or the long option name after the \(lqno\-\(rq prefix (e.g., \fB\-\-no\-R\fP is the same as \fB\-\-no\-relative\fP). .IP For example: if you want to use \fB\-a\fP (\fB\-\-archive\fP) but don't want \fB\-o\fP (\fB\-\-owner\fP), instead of converting \fB\-a\fP into \fB\-rlptgD\fP, you could specify \fB\-a \-\-no\-o\fP (or \fB\-a \-\-no\-owner\fP). .IP The order of the options is important: if you specify \fB\-\-no\-r \-a\fP, the \fB\-r\fP option would end up being turned on, the opposite of \fB\-a \-\-no\-r\fP. Note also that the side-effects of the \fB\-\-files\-from\fP option are NOT positional, as it affects the default state of several options and slightly changes the meaning of \fB\-a\fP (see the \fB\-\-files\-from\fP option for more details). .PP .SH "REMOTE ACCESS METHODS, PROTOCOL, AND CONNECTION" .PP Rsync offers two different ways to contact a remote system for the purpose of pushing to or pulling from a directory on it: .PP .IP o If the source or destination begins with a hostname and a single colon (:), rsync uses a remote shell to invoke an rsync server process on that host. .IP o If the source or destination begins with a hostname and a double colon (::) or is an \fIrsync://\fP URL, rsync connects to an rsync daemon running on the host. .PP The hybrid case of a single-use daemon invoked via remote shell is discussed in its own section below. As expected, if no source or destination argument specifies a remote host, the copy occurs locally. .PP One of the most common mistakes users make is to confuse the single and double colon syntaxes. Make sure you use the correct number of colons. .PP .SH " Remote shell" .PP To pull or push over a remote shell, give a source or destination (respectively) of the form \fI[user@]host:path\fP. Rsync uses the default remote shell to log into the given host with the given username (if any) and run an rsync server process. .PP The default remote shell is ssh, but your copy of rsync may have been configured to use a different remote shell by default, such as rsh or remsh. You can specify any remote shell you like by passing the \fB\-e\fP/\fB\-\-rsh\fP option or setting the RSYNC_RSH environment variable. .PP Note that rsync must be installed on the remote machine and must be in the $PATH unless you specify an \fB\-\-rsync\-path\fP. .PP .IP "\fB\-e\fP \fICOMMAND\fP, \fB\-\-rsh=\fP\fICOMMAND\fP" This option allows you to choose an alternative remote shell program to use for communication between the local and remote copies of rsync. Typically, rsync is configured to use ssh by default, but you may prefer to use rsh on a local network. .IP If this option is used with \fI[user@]host::module/path\fP, then the remote shell \fICOMMAND\fP will be used to run an rsync daemon on the remote host, and all data will be transmitted through that remote shell connection, rather than through a direct socket connection to a running rsync daemon on the remote host. See the section \(lqSingle-use daemon via remote shell\(rq below. .IP Rsync performs a rudimentary word-splitting algorithm on the \fICOMMAND\fP string to allow you to specify initial arguments for the remote shell program. Spaces (not tabs or other whitespace) delimit arguments. Single-quoted and double-quoted strings are recognized to allow you to specify an argument containing a space. Within a single-quoted string, two consecutive single quotes denote a single quote; likewise for double quotes. Be sure to pay attention to which quotes your shell is parsing and which quotes rsync is parsing. Some examples: .IP .RS \f(CW \-e 'ssh \-p 2234'\fP .br \f(CW \-e 'ssh \-o "ProxyCommand nohup ssh firewall nc \-w1 %h %p"'\fP .br .RE .IP (If you use ssh, you may find it easier to set options in your .ssh/config file than to pass them via \fB\-\-rsh\fP.) .IP You can also choose the remote shell program using the RSYNC_RSH environment variable, which accepts the same range of values as \fB\-e\fP. .IP See also the \fB\-\-blocking\-io\fP option which is affected by this option. .IP .IP "\fB\-\-rsync\-path=\fP\fIPROGRAM\fP" Use this to specify what program is to be run on the remote machine to start-up rsync. Often used when rsync is not in the default remote-shell's path (e.g., \-\-rsync\-path=/usr/local/bin/rsync). Note that PROGRAM is run with the help of a shell, so it can be any program, script, or command sequence you'd care to run, so long as it does not corrupt the standard-in & standard-out that rsync is using to communicate. .IP One tricky example is to reduce the amount of \fB\-\-relative\fP path information coming from a remote sender. For instance: .IP .RS \f(CW rsync \-avR \-\-rsync\-path="cd /a/b && rsync" host:c/d /e/\fP .RE .IP If the sender is at least version 2.6.7, the \fI./\fP syntax introduced in that version is preferable to this hack. .IP .IP "\fB\-\-protect\-args\fP" TODO! .IP .IP "\fB\-\-blocking\-io\fP" This tells rsync to use blocking I/O when launching a remote shell transport. If the remote shell is either rsh or remsh, rsync defaults to using blocking I/O, otherwise it defaults to using non-blocking I/O. (Note that ssh prefers non-blocking I/O.) .PP .SH " Accessing an rsync daemon" .PP TODO .PP .nf \-\-password\-file=FILE read daemon-access password from FILE \-\-address=ADDRESS bind address for outgoing socket to daemon \-\-port=PORT specify double-colon alternate port number \-\-sockopts=OPTIONS specify custom TCP options \-\-ipv4 (\-4) prefer IPv4 \-\-ipv6 (\-6) prefer IPv6 .fi .PP .SH " Single-use daemon via remote shell" .PP TODO .PP .SH " Pulling multiple sources from a remote host" .PP TODO .PP .SH " Connection options" .PP Here are some options that affect the rsync connection, no matter how it is established. .PP .IP "\fB\-\-protocol=\fP\fINUM\fP" Force an older protocol version to be used. This is useful for creating a batch file that is compatible with an older version of rsync. For instance, if rsync 2.6.4 is being used with the \fB\-\-write\-batch\fP option, but rsync 2.6.3 is what will be used to run the \fB\-\-read\-batch\fP option, you should use \(lq\-\-protocol=28\(rq when creating the batch file to force the older protocol version to be used in the batch file (assuming you can't upgrade the rsync on the reading system). .PP .IP "\fB\-\-bwlimit=\fP\fIKBPS\fP" This option allows you to specify a maximum transfer rate in kilobytes per second. This option is most effective when using rsync with large files (several megabytes and up). Due to the nature of rsync transfers, blocks of data are sent, then if rsync determines the transfer was too fast, it will wait before sending the next data block. The result is an average transfer rate equaling the specified limit. A value of zero specifies no limit. .PP .IP "\fB\-\-timeout=\fP\fITIMEOUT\fP" This option allows you to set a maximum I/O timeout in seconds. If no data is transferred for the specified time then rsync will exit. The default is 0, which means no timeout. .PP .SH " Running an rsync daemon" .PP TODO .PP .nf \-\-daemon run as an rsync daemon \-\-config=FILE specify alternate rsyncd.conf file \-\-no\-detach do not detach from the parent \-\-port=PORT listen on alternate port number \-\-log\-file=FILE override the "log file" setting \-\-log\-file\-format=FMT override the "log format" setting \-\-address, \-\-bwlimit, \-\-sockopts \-v, \-4, \-6, \-h/\-\-help as usual .fi .PP .SH " Internal options" .PP Rsync uses the options \fB\-\-server\fP and \fB\-\-sender\fP internally when invoking itself over a remote shell. They should never be typed by an end user under normal circumstances. Some awareness of these options may be needed in certain scenarios, such as when setting up a login that can only run an rsync command. For instance, the support directory of the rsync distribution has an example script named rrsync (for restricted rsync) that can be used with a restricted ssh login. .PP \fB== Empty sections below ==\fP .PP .SH "MODE OF OPERATION" .PP .SH "Source file selection" .PP .SH " Directories" .PP .SH " Other options" .PP .SH "ATTRIBUTES" .PP .SH " Modification times" .PP .SH " Permissions" .PP .SH " Others" .PP .SH "NON-REGULAR FILES" .PP .SH " Symbolic links" .PP .SH " Others" .PP .SH "QUICK CHECK" .PP .SH "FILE TRANSFER MECHANICS" .PP .SH " Delta-transfer algorithm" .PP .SH " Compression" .PP .SH " Destination file handling" .PP .SH "BASIS FILES" .PP .SH "DELETION" .PP .SH "NAME-BASED FILTER RULES" .PP .SH " Options" .PP .SH " Types of filter rules" .PP .SH " Include/exclude pattern matching" .PP .SH " Merge files" .PP .SH " List-clearing rule" .PP .SH " Anchoring include/exclude patterns" .PP .SH " Per-directory merge files and deletion" .PP .SH "OTHER FILTERING" .PP .SH "BACKUPS" .PP .SH "OUTPUT" .PP .SH "BATCH MODE" .PP .SH "DIAGNOSTICS" .PP Rsync occasionally produces error messages that may seem a little cryptic. The one that seems to cause the most confusion is \(lqprotocol version mismatch \(em is your shell clean?\(rq. .PP This message is usually caused by your startup scripts or remote shell facility producing unwanted garbage on the stream that rsync is using for its transport. The way to diagnose this problem is to run your remote shell like this: .PP .RS \f(CWssh remotehost /bin/true > out.dat\fP .RE .PP Then look at out.dat. If everything is working correctly then out.dat should be a zero length file. If you are getting the above error from rsync then you will probably find that out.dat contains some text or data. Look at the contents and try to work out what is producing it. The most common cause is incorrectly configured shell startup scripts (such as .cshrc or .profile) that contain output statements for non-interactive logins. .PP If you are having trouble debugging filter patterns, then try specifying the \fB\-vv\fP option. At this level of verbosity rsync will show why each individual file is included or excluded. .PP .SH "EXIT VALUES" .PP .IP "\fB0\fP" Success .IP "\fB1\fP" Syntax or usage error .IP "\fB2\fP" Protocol incompatibility .IP "\fB3\fP" Errors selecting input/output files, dirs .IP "\fB4\fP" Requested action not supported: an attempt was made to manipulate 64-bit files on a platform that cannot support them; or an option was specified that is supported by the client and not by the server. .IP "\fB5\fP" Error starting client-server protocol .IP "\fB6\fP" Daemon unable to append to log-file .IP "\fB10\fP" Error in socket I/O .IP "\fB11\fP" Error in file I/O .IP "\fB12\fP" Error in rsync protocol data stream .IP "\fB13\fP" Errors with program diagnostics .IP "\fB14\fP" Error in IPC code .IP "\fB20\fP" Received SIGUSR1 or SIGINT .IP "\fB21\fP" Some error returned by \f(CWwaitpid()\fP .IP "\fB22\fP" Error allocating core memory buffers .IP "\fB23\fP" Partial transfer due to error .IP "\fB24\fP" Partial transfer due to vanished source files .IP "\fB25\fP" The \-\-max\-delete limit stopped deletions .IP "\fB30\fP" Timeout in data send/receive .PP .SH "ENVIRONMENT VARIABLES" .PP .IP "\fBCVSIGNORE\fP" The CVSIGNORE environment variable supplements any ignore patterns in .cvsignore files. See the \fB\-\-cvs\-exclude\fP option for more details. .IP "\fBRSYNC_ICONV\fP" Specify a default \fB\-\-iconv\fP setting using this environment variable. .IP "\fBRSYNC_RSH\fP" The RSYNC_RSH environment variable allows you to override the default shell used as the transport for rsync. Command line options are permitted after the command name, just as in the \fB\-e\fP option. .IP "\fBRSYNC_PROXY\fP" The RSYNC_PROXY environment variable allows you to redirect your rsync client to use a web proxy when connecting to a rsync daemon. You should set RSYNC_PROXY to a hostname:port pair. .IP "\fBRSYNC_PASSWORD\fP" Setting RSYNC_PASSWORD to the required password allows you to run authenticated rsync connections to an rsync daemon without user intervention. Note that this does not supply a password to a shell transport such as ssh. .IP "\fBUSER\fP or \fBLOGNAME\fP" The USER or LOGNAME environment variables are used to determine the default username sent to an rsync daemon. If neither is set, the username defaults to \(lqnobody\(rq. .IP "\fBHOME\fP" The HOME environment variable is used to find the user's default .cvsignore file. .PP .SH "FILES" .PP /etc/rsyncd.conf or rsyncd.conf .PP .SH "SEE ALSO" .PP \fBrsyncd.conf\fP(5) .PP .SH "BUGS" .PP times are transferred as *nix time_t values .PP When transferring to FAT filesystems rsync may re-sync unmodified files. See the comments on the \fB\-\-modify\-window\fP option. .PP file permissions, devices, etc. are transferred as native numerical values .PP see also the comments on the \fB\-\-delete\fP option .PP Please report bugs! See http://rsync.samba.org/bugzilla.html for instructions. .PP .SH "GENERALITIES" .PP This man page is current for version 2.6.9 of rsync. .PP The rsync Web site is http://rsync.samba.org/ . It includes a FAQ which may cover questions unanswered by this manual page. The primary download site for rsync is http://rsync.samba.org/ftp/rsync/ . Mailing lists for support and development are available at http://lists.samba.org/ . .PP Rsync is distributed under the GNU General Public License, version 3 or later. See the file COPYING in the source distribution or http://www.gnu.org/copyleft/gpl.html for details. .PP We would be delighted to hear from you if you like this program. .PP .SH "AUTHOR" .PP Rsync was originally written by Andrew Tridgell and Paul Mackerras. Many people have later contributed to it. .PP Thanks to Richard Brent, Brendan Mackay, Bill Waite, Stephen Rothwell and David Bell for helpful suggestions, patches and testing of rsync. I've probably missed some people, my apologies if I have. .PP Especial thanks also to: David Dykstra, Jos Backus, Sebastian Krahmer, Martin Pool, Wayne Davison, J.W. Schultz. .PP Rsync uses the excellent zlib compression library written by Jean-loup Gailly and Mark Adler.