rsync <command> <command>

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

Arguments

NameDescription
command
command

Options

NameDescription
-v,--verboseIncrease verbosity
--info <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command>Fine-grained informational verbosity
--debug <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command> <command>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 <command>Make backups into hierarchy based in DIR
--suffix <command>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 <command>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 <command>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 <command...>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 <command>Choose the checksum algorithms
-x,--one-file-systemDon't cross filesystem boundaries
-B,--block-size <command>Force a fixed checksum block-size
-e,--rsh <command>Specify the remote shell to use
--rsync-path <command>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 <command>Don't delete more than NUM files
--max-size <command>Don't transfer any file larger than SIZE
--min-size <command>Don't transfer any file smaller than SIZE
--partialKeep partially transferred files
--partial-dir=DIR <command>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 <command>Custom username mapping
--groupmap <command>Custom groupname mapping
--chown=USER:GROUP <command>Simple username/groupname mapping
--timeout <command>Set I/O timeout in seconds
--contimeout <command>Set daemon connection timeout in seconds
-I,--ignore-timesDon't skip files that match in size and mod-time
-M <command>Send OPTION to the remote side only
--remote-option <command>Send OPTION to the remote side only
--size-onlySkip files that match in size
-@ <command>Set the accuracy for mod-time comparisons
--modify-window <command>Set the accuracy for mod-time comparisons
-T <command>Create temporary files in directory DIR
--temp-dir <command>Create temporary files in directory DIR
-y,--fuzzyFind similar file for basis if no dest file
--compare-dest <command>Also compare destination files relative to DIR
--copy-dest <command>Also compare destination files relative to DIR and include copies of unchanged files
--link-dest <command>Hardlink to files in DIR when unchanged
-z,--compressCompress file data during the transfer
--compress-level <command>Explicitly set compression level
--skip-compress <command>Skip compressing files with a suffix in LIST
-C,--cvs-excludeAuto-ignore files the same way CVS does
-f <command>Add a file-filtering RULE
--filter <command>Add a file-filtering RULE
-F <command...>Same as --filter='dir-merge /.rsync-filter'
--exclude <command>Exclude files matching PATTERN
--exclude-from <command>Read exclude patterns from FILE
--include <command>Don't exclude files matching PATTERN
--include-from <command>Read include patterns from FILE
--files-from <command>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 <command>Bind address for outgoing socket to daemon
--port <command>Specify double-colon alternate port number
--sockopts <command>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 <command>Output updates using the specified FORMAT
--log-file <command>Log what we're doing to the specified FILE
--log-file-format <command>Log updates using the specified FMT
--password-file <command>Read daemon-access password from FILE
--list-onlyList the files instead of copying them
--bwlimit <command>Limit socket I/O bandwidth
--stop-at <command>Stop rsync at year-month-dayThour:minute
--time-limit <command>Stop rsync after MINS minutes have elapsed
--outbuf <command>Set output buffering to None, Line, or Block
--write-batch <command>Write a batched update to FILE
--only-write-batch <command>Like --write-batch but w/o updating destination
--read-batch <command>Read a batched update from FILE
--protocol <command>Force an older protocol version to be used
--iconv <command>Request charset conversion of filenames
--checksum-seed <command>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)