rsync <SRC...> <DEST>

Rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm

Arguments

NameDescription
SRC
DEST

Options

NameDescription
-v, --verboseIncrease verbosity
--info <BACKUP> <COPY> <DEL> <FLIST> <MISC> <MOUNT> <NAME> <PROGRESS> <REMOVE> <SKIP> <STATS> <SYMSAFE> <ALL> <NONE> <HELP>Fine-grained informational verbosity
--debug <BACKUP> <COPY> <DEL> <FLIST> <MISC> <MOUNT> <NAME> <PROGRESS> <REMOVE> <SKIP> <STATS> <SYMSAFE> <ALL> <NONE> <HELP>Fine-grained debug verbosity
--msgs2stderrSpecial output handling for debugging
--quiet, -qSuppress non-error messages
--no-motdSuppress daemon-mode MOTD (see manpage caveat)
--checksum, -cSkip based on checksum, not mod-time & size
-a, --archiveArchive mode; equals -rlptgoD (no -H,-A,-X)
--no-OPTIONTurn off an implied OPTION (e.g. --no-D)
-r, --recursiveRecurse into directories
-R, --relativeUse relative path names
--no-implied-dirsDon't send implied dirs with --relative
-b, --backupMake backups (see --suffix & --backup-dir)
--backup-dir <DIR>Make backups into hierarchy based in DIR
--suffix <SUFFIX>Set backup suffix (default ~ w/o --backup-dir)
-u, --updateSkip files that are newer on the receiver
--inplaceUpdate destination files in-place (SEE MAN PAGE)
--appendAppend data onto shorter files
--append-verifyLike --append, but with old data in file checksum
-d, --dirs <DIR>Transfer directories without recursing
-l, --linksCopy symlinks as symlinks
-L, --copy-linksTransform symlink into referent file/dir
--copy-unsafe-linksOnly "unsafe" symlinks are transformed
--safe-linksIgnore symlinks that point outside the source tree
--munge-linksMunge symlinks to make them safer (but unusable)
-k, --copy-dirlinksTransform symlink to a dir into referent dir
-K, --keep-dirlinksTreat symlinked dir on receiver as dir
-H, --hard-linksPreserve hard links
-p, --permsPreserve permissions
-E, --executabilityPreserve the file's executability
--chmod <CHMOD>Affect file and/or directory permissions
-A, --aclsPreserve ACLs (implies --perms)
-X, --xattrsPreserve extended attributes
-o, --ownerPreserve owner (super-user only)
-g, --groupPreserve group
--devicesPreserve device files (super-user only)
--copy-devicesCopy device contents as regular file
--specialsPreserve special files
-DSame as --devices --specials
-t, --timesPreserve modification times
-O, --omit-dir-times <DIR...>Omit directories from --times
-J, --omit-link-timesOmit symlinks from --times
--superReceiver attempts super-user activities
--fake-superStore/recover privileged attrs using xattrs
-S, --sparseTurn sequences of nulls into sparse blocks
--preallocateAllocate dest files before writing them
-n, --dry-runPerform a trial run with no changes made
-W, --whole-fileCopy files whole (without delta-xfer algorithm)
--checksum-choice <ALGORITHM>Choose the checksum algorithms
-x, --one-file-systemDon't cross filesystem boundaries
-B, --block-size <SIZE>Force a fixed checksum block-size
-e, --rsh <COMMAND>Specify the remote shell to use
--rsync-path <PATH>Specify the rsync to run on the remote machine
--existingSkip creating new files on receiver
--ignore-existingSkip updating files that already exist on receiver
--remove-source-filesSender removes synchronized files (non-dirs)
--deleteDelete extraneous files from destination dirs
--delete-beforeReceiver deletes before transfer, not during
--delete-during, --delReceiver deletes during the transfer
--delete-delayFind deletions during, delete after
--delete-afterReceiver deletes after transfer, not during
--delete-excludedAlso delete excluded files from destination dirs
--ignore-missing-argsIgnore missing source args without error
--delete-missing-argsDelete missing source args from destination
--ignore-errorsDelete even if there are I/O errors
--forceForce deletion of directories even if not empty
--max-delete <NUM>Don't delete more than NUM files
--max-size <SIZE>Don't transfer any file larger than SIZE
--min-size <SIZE>Don't transfer any file smaller than SIZE
--partialKeep partially transferred files
--partial-dir=DIR <DIR>Put a partially transferred file into DIR
--delay-updatesPut all updated files into place at transfer's end
-m, --prune-empty-dirsPrune empty directory chains from the file-list
--numeric-idsDon't map uid/gid values by user/group name
--usermap <STRING>Custom username mapping
--groupmap <STRING>Custom groupname mapping
--chown=USER:GROUP <USER:GROUP>Simple username/groupname mapping
--timeout <SECONDS>Set I/O timeout in seconds
--contimeout <SECONDS>Set daemon connection timeout in seconds
-I, --ignore-timesDon't skip files that match in size and mod-time
-M <OPTION>Send OPTION to the remote side only
--remote-option <OPTION>Send OPTION to the remote side only
--size-onlySkip files that match in size
-@ <NUM>Set the accuracy for mod-time comparisons
--modify-window <NUM>Set the accuracy for mod-time comparisons
-T <DIR>Create temporary files in directory DIR
--temp-dir <DIR>Create temporary files in directory DIR
-y, --fuzzyFind similar file for basis if no dest file
--compare-dest <DIR>Also compare destination files relative to DIR
--copy-dest <DIR>Also compare destination files relative to DIR and include copies of unchanged files
--link-dest <DIR>Hardlink to files in DIR when unchanged
-z, --compressCompress file data during the transfer
--compress-level <NUM>Explicitly set compression level
--skip-compress <LIST>Skip compressing files with a suffix in LIST
-C, --cvs-excludeAuto-ignore files the same way CVS does
-f <RULE>Add a file-filtering RULE
--filter <RULE>Add a file-filtering RULE
-F <DIR...>Same as --filter='dir-merge /.rsync-filter'
--exclude <PATTERN>Exclude files matching PATTERN
--exclude-from <FILE>Read exclude patterns from FILE
--include <PATTERN>Don't exclude files matching PATTERN
--include-from <FILE>Read include patterns from FILE
--files-from <FILE>Read list of source-file names from FILE
-0, --from0All *-from/filter files are delimited by 0s
-s, --protect-argsNo space-splitting; only wildcard special-chars
--address <ADDRESS>Bind address for outgoing socket to daemon
--port <PORT>Specify double-colon alternate port number
--sockopts <OPTIONS>Specify custom TCP options
--blocking-ioUse blocking I/O for the remote shell
--statsGive some file-transfer stats
-8, --8-bit-outputLeave high-bit chars unescaped in output
-h, --human-readableOutput numbers in a human-readable format
--progressShow progress during transfer
-PSame as --partial --progress
-i, --itemize-changesOutput a change-summary for all updates
--out-format <FORMAT>Output updates using the specified FORMAT
--log-file <FILE>Log what we're doing to the specified FILE
--log-file-format <FMT>Log updates using the specified FMT
--password-file <FILE>Read daemon-access password from FILE
--list-onlyList the files instead of copying them
--bwlimit <RATE>Limit socket I/O bandwidth
--stop-at <y-m-dTh:m>Stop rsync at year-month-dayThour:minute
--time-limit <MINS>Stop rsync after MINS minutes have elapsed
--outbuf <BUFFER>Set output buffering to None, Line, or Block
--write-batch <FILE>Write a batched update to FILE
--only-write-batch <FILE>Like --write-batch but w/o updating destination
--read-batch <FILE>Read a batched update from FILE
--protocol <NUM>Force an older protocol version to be used
--iconv <CONVERT_SPEC>Request charset conversion of filenames
--checksum-seed <NUM>Set block/file checksum seed (advanced)
--noatimeDo not alter atime when opening source files
-4, --ipv4Prefer IPv4
-6, --ipv6Prefer IPv6
--versionPrint version number
-h, --helpShow help for rsync (-h is --help only if used alone)