{"id":2007,"date":"2015-08-23T12:32:39","date_gmt":"2015-08-23T11:32:39","guid":{"rendered":"https:\/\/stevepedwards.today\/DebianAdmin\/?p=2007"},"modified":"2015-08-23T12:32:39","modified_gmt":"2015-08-23T11:32:39","slug":"basic-useful-rsync-usage-summaries-from-man-page","status":"publish","type":"post","link":"https:\/\/stevepedwards.today\/DebianAdmin\/basic-useful-rsync-usage-summaries-from-man-page\/","title":{"rendered":"Basic Rsync Usage Summaries from Man Page"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2007\" class=\"pvc_stats all  \" data-element-id=\"2007\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p><em><strong><span style=\"color: #ff0000;\">Be careful with the --delete switch!! I regard this as the most dangerous command since when <\/span><span style=\"color: #0000ff;\">rm -vr \/<\/span><span style=\"color: #ff0000;\"> did not have a default \"--interactive\" to prevent deletion without checks. \u00a0<\/span><em><strong><span style=\"color: #ff0000;\">--delete did not seem to behave as described below - test it on expendable\u00a0data first! You only need z compression over slow links. a archive is recursive and includes all links, attribs, timestamps, perms etc.; you don't need both -ar. In crontabs, don't use -h; you're not watching, -a will do.<\/span><\/strong><\/em><\/strong><\/em><\/p>\n<p>Page info summarised for me, for generic copy\/update with compression but no deletes, with timestamps retained to:<br \/>\n<span style=\"color: #0000ff;\"><strong>rsync \/Quadra\/StevesITStuff\/ \/Storebird\/StevesITStuff --progress -vazh --dry-run<\/strong><\/span><\/p>\n<p><span style=\"color: #ffffff;\"><strong>or, easier to edit quickly:<\/strong><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><strong>rsync \/Quadra\/StevesITStuff\/ \/Storebird\/StevesITStuff --progress -vahn<\/strong><\/span><br \/>\n<strong>then Go!<br \/>\n<\/strong><br \/>\n<span style=\"color: #0000ff;\"><strong>rsync \/Quadra\/StevesITStuff\/ \u00a0\u00a0\u00a0\u00a0\/Storebird\/StevesITStuff --progress -vah<br \/>\n<\/strong><\/span><br \/>\n<span style=\"color: #0070c0;\"><strong><span style=\"color: #ffffff;\">DOUBLE CHECK THE TRAILING SLASHES - Prevent same directory nesting!! The above line is the same as below:<\/span><br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><strong>rsync \/Quadra\/StevesITStuff\/* \u00a0 \/Storebird\/StevesITStuff\/ --progress -vah<\/strong><\/span><\/p>\n<p><strong>but BEWARE! It is NOT the same as below - which nests the source in the destination:<\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>rsync \/Quadra\/StevesITStuff \u00a0 \u00a0\/Storebird\/StevesITStuff\/ --progress -vah<\/strong><\/span><\/p>\n<p><center><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/l6iGzXl_yxw?autoplay=1&amp;version=3&amp;loop=1&amp;playlist=l6iGzXl_yxw\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center>To exclude multiple files\/dirs say, for your update to a backup of key OS dirs you have recursively copied to BURoot already:<\/p>\n<p><span style=\"color: #0000ff;\">sudo rsync --progress \/ \/BURoot\/ <strong>--exclude={BURoot,cdrom,dev,proc,sys,tmp} <\/strong>-vahn<\/span><\/p>\n<p>There is a GUI frontend called grsync if you prefer to not use cmd lines, and install that also.<\/p>\n<p><strong>NAME<\/strong><\/p>\n<p>rsync - a fast, versatile, remote (and local) file-copying tool<\/p>\n<p><strong>SYNOPSIS<\/strong><\/p>\n<p>Local: rsync [OPTION...] SRC... [DEST]<\/p>\n<p>Access via remote shell:<\/p>\n<p>Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]<\/p>\n<p>Push: rsync [OPTION...] SRC... [USER@]HOST:DEST<\/p>\n<p>Access via rsync daemon:<\/p>\n<p>Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]<\/p>\n<p>rsync [OPTION...] rsync:\/\/[USER@]HOST[:PORT]\/SRC... [DEST]<\/p>\n<p>Push: rsync [OPTION...] SRC... [USER@]HOST::DEST<\/p>\n<p>rsync [OPTION...] SRC... rsync:\/\/[USER@]HOST[:PORT]\/DEST<\/p>\n<p>Usages with just one SRC arg and no DEST arg will list the source files<\/p>\n<p>instead of copying.<\/p>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>Rsync is a fast and extraordinarily versatile file copying tool. It<\/p>\n<p>can copy locally, to\/from another host over any remote shell, or<\/p>\n<p>to\/from a remote rsync daemon. It offers a large number of options<\/p>\n<p>that control every aspect of its behavior and permit very flexible<\/p>\n<p>specification of the set of files to be copied. It is famous for its<\/p>\n<p>delta-transfer algorithm, which reduces the amount of data sent over<\/p>\n<p>the network by sending only the differences between the source files<\/p>\n<p>and the existing files in the destination. Rsync is widely used for<\/p>\n<p>backups and mirroring and as an improved copy command for everyday use.<\/p>\n<p>Rsync finds files that need to be transferred using a \"quick check\"<\/p>\n<p>algorithm (by default) that looks for files that have changed in size<\/p>\n<p>or in last-modified time. Any changes in the other preserved<\/p>\n<p>attributes (as requested by options) are made on the destination file<\/p>\n<p>directly when the quick check indicates that the files data does not<\/p>\n<p>need to be updated.<\/p>\n<p><strong>USAGE<\/strong><\/p>\n<p>You use rsync in the same way you use rcp. You must specify a source<\/p>\n<p>and a destination, one of which may be remote.<\/p>\n<p>Perhaps the best way to explain the syntax is with some examples:<\/p>\n<p><span style=\"color: #0070c0;\"><strong>rsync -t *.c \u00a0\u00a0\u00a0\u00a0foo:src\/<br \/>\n<\/strong><\/span><\/p>\n<p>This would transfer all files matching the pattern *.c from the current<\/p>\n<p>directory to the directory src on the machine foo. If any of the files<\/p>\n<p>already exist on the remote system then the rsync remote-update proto<\/p>\n<p>col is used to update the file by sending only the differences.<\/p>\n<p><span style=\"color: #0070c0;\"><strong>rsync -avz foo:src\/bar \/data\/tmp<br \/>\n<\/strong><\/span><\/p>\n<p>This would recursively transfer all files from the directory src\/bar on<\/p>\n<p>the machine foo into the \/data\/tmp\/bar directory on the local machine.<\/p>\n<p>The files are transferred in \"archive\" mode, which ensures that sym<\/p>\n<p>bolic links, devices, attributes, permissions, ownerships, etc. are<\/p>\n<p>preserved in the transfer. Additionally, compression will be used to<\/p>\n<p>reduce the size of data portions of the transfer.<\/p>\n<p><span style=\"color: #0070c0;\"><strong> rsync -avz foo:src\/bar\/ \/data\/tmp<br \/>\n<\/strong><\/span><\/p>\n<p><strong><em>A trailing slash on the source changes this behavior to avoid creating<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> an additional directory level at the destination.<\/em><\/strong> You can think of a<\/p>\n<p>trailing \/ on a source as meaning \"copy the contents of this directory\"<\/p>\n<p>as opposed to \"copy the directory by name\", but in both cases the<\/p>\n<p>attributes of the containing directory are transferred to the contain<\/p>\n<p>ing directory on the destination. In other words, each of the follow<\/p>\n<p>ing commands copies the files in the same way, including their setting<\/p>\n<p>of the attributes of \/dest\/foo:<\/p>\n<p><span style=\"color: #0070c0;\"><strong> rsync -av \/src\/foo \/dest<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: #0070c0;\"><strong> rsync -av \/src\/foo\/ \/dest\/foo<br \/>\n<\/strong><\/span><\/p>\n<p>If you need to transfer a filename that contains whitespace, you can<\/p>\n<p>either specify the <strong>--protect-args (-s)<\/strong> option, or you'll need to escape<\/p>\n<p>the whitespace in a way that the remote shell will understand. For<\/p>\n<p>instance:<\/p>\n<p><span style=\"color: #0070c0;\"><strong>rsync -av host:'file\\ name\\ with\\ spaces' \/dest<br \/>\n<\/strong><\/span><\/p>\n<p>I mirror a directory between my \"old\" and \"new\" ftp sites with the com<\/p>\n<p>mand:<\/p>\n<p><strong><span style=\"color: #0070c0;\"> rsync -az <\/span>-e ssh<span style=\"color: #0070c0;\"> --delete ~ftp\/pub\/samba nimbus:\"~ftp\/pub\/tridge\"<br \/>\n<\/span><\/strong><\/p>\n<p><strong>(*VIA A REMOTE-SHELL CONNECTION the sshd and keys would have been setup for no pword login here?)<br \/>\n<\/strong><\/p>\n<p><span style=\"color: red;\"><strong>OPTIONS SUMMARY<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> Here is a short summary of the options available in rsync. Please refer<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> to the detailed description below for a complete description.<br \/>\n<\/strong><\/span><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">--progress<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This option tells rsync to print information showing the<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> progress of the transfer. This gives a bored user something to<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> watch.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">-n, --dry-run<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This makes rsync perform a trial run that doesnt make any<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> changes (and produces mostly the same output as a real run). It<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> is most commonly used in combination with the -v, --verbose<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> and\/or -i, --itemize-changes options to see what an rsync com<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> mand is going to do before one actually runs it.<\/em><br \/>\n<\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">-u, --update<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This forces rsync to skip any files which exist on the destina<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> tion and have a modified time that is newer than the source<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> file. (If an existing destination file has a modification time<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> equal to the source files, it will be updated if the sizes are<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> different.)<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">--ignore-existing<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This tells rsync to skip updating files that already exist on<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> the destination (this does not ignore existing directories, or<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> nothing would get done). See also --existing.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">--delete<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This tells rsync to delete extraneous files from the receiving<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> side (ones that arent on the sending side), <span style=\"color: red;\">but only for the<br \/>\n<\/span><\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: red;\"> directories that are being synchronized.<\/span> You must have asked<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> rsync to send the whole directory (e.g. \"dir\" or \"dir\/\") without<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> using a wildcard for the directorys contents (e.g. \"dir\/*\")<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> since the wildcard is expanded by the shell and rsync thus gets<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> a request to transfer individual files, not the files parent<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> directory. Files that are excluded from the transfer are also<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> excluded from being deleted unless you use the --delete-excluded<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> option or mark the rules as only matching on the sending side<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> (see the include\/exclude modifiers in the FILTER RULES section).<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Prior to rsync 2.6.7, this option would have no effect unless<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> --recursive was enabled. Beginning with 2.6.7, deletions will<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> also occur when --dirs (-d) is enabled, but only for directories<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> whose contents are being copied.<br \/>\n<\/em><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong><em> This option can be dangerous if used incorrectly! It is a very<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"color: #ff0000;\"><strong><em> good idea to first try a run using the --dry-run option (-n) to<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><strong><em><span style=\"color: #ff0000;\"> see what files are going to be deleted.<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> If the sending side detects any I\/O errors, then the deletion of<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> any files at the destination will be automatically disabled.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This is to prevent temporary filesystem failures (such as NFS<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> errors) on the sending side from causing a massive deletion of<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> files on the destination. You can override this with the<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> --ignore-errors option.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">--delete-before<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Request that the file-deletions on the receiving side be done<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> before the transfer starts. See --delete (which is implied) for<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> more details on file-deletion.<br \/>\n<\/em><\/strong><strong><em><br \/>\n<span style=\"color: red;\">Deleting before the transfer is helpful if the filesystem is<br \/>\n<\/span><\/em><\/strong><\/p>\n<p><span style=\"color: red;\"><strong><em> tight for space and removing extraneous files would help to make<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><strong><em><span style=\"color: red;\"> the transfer possible.<\/span> However, it does introduce a delay<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> before the start of the transfer, and this delay might cause the<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> transfer to timeout (if --timeout was specified). It also<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> forces rsync to use the old, non-incremental recursion algorithm<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> that requires rsync to scan all the files in the transfer into<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> memory at once (see --recursive).<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em>--delete-during, --del<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Request that the file-deletions on the receiving side be done<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> incrementally as the transfer happens. The per-directory delete<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> scan is done right before each directory is checked for updates,<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> so it behaves like a more efficient --delete-before, including<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> doing the deletions prior to any per-directory filter files<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> being updated.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">-z, --compress<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> With this option, rsync compresses the file data as it is sent<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> to the destination machine, which reduces the amount of data<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> being transmitted -- something that is useful over a slow con<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> nection.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Note that this option typically achieves better compression<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> ratios than can be achieved by using a compressing remote shell<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> or a compressing transport because it takes advantage of the<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> implicit information in the matching data blocks that are not<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> explicitly sent over the connection.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">-h, --human-readable<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Output numbers in a more human-readable format. There are 3<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> possible levels: (1) output numbers with a separator between<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> each set of 3 digits (either a comma or a period, depending on<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> if the decimal point is represented by a period or a comma); (2)<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> output numbers in units of 1000 (with a character suffix for<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> larger units -- see below); (3) output numbers in units of 1024.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> The default is human-readable level 1.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em><span style=\"color: #0000ff;\">--bwlimit=RATE<\/span><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> This option allows you to specify the maximum transfer rate for<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> the data sent over the socket, specified in units per second.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> The RATE value can be suffixed with a string to indicate a size<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> multiplier, and may be a fractional value (e.g.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> \"--bwlimit=1.5m\"). If no suffix is specified, the value will be<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> assumed to be in units of 1024 bytes (as if \"K\" or \"KiB\" had<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> been appended).<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em>A WEB site is available at <a href=\"https:\/\/rsync.samba.org\">https:\/\/rsync.samba.org<\/a><br \/>\n<\/em><\/strong><\/p>\n<p><strong><em>The site includes<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> an FAQ-O-Matic which may cover questions unanswered by this manual<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> page.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em>AUTHOR<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> rsync was originally written by Andrew Tridgell and Paul Mackerras.<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> Many people have later contributed to it. It is currently maintained<br \/>\n<\/em><\/strong><\/p>\n<p><strong><em> by Wayne Davison.<br \/>\n<\/em><\/strong><\/p>\n<p><span style=\"color: red;\"><strong> -v, --verbose increase verbosity<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --info=FLAGS fine-grained informational verbosity<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --debug=FLAGS fine-grained debug verbosity<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --msgs2stderr special output handling for debugging<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -q, --quiet suppress non-error messages<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --no-motd suppress daemon-mode MOTD (see caveat)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -c, --checksum skip based on checksum, not mod-time &amp; size<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --no-OPTION turn off an implied OPTION (e.g. --no-D)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -r, --recursive recurse into directories<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -R, --relative use relative path names<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --no-implied-dirs don't send implied dirs with --relative<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -b, --backup make backups (see --suffix &amp; --backup-dir)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --backup-dir=DIR make backups into hierarchy based in DIR<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --suffix=SUFFIX backup suffix (default ~ w\/o --backup-dir)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -u, --update skip files that are newer on the receiver<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --inplace update destination files in-place<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --append append data onto shorter files<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --append-verify --append w\/old data in file checksum<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -d, --dirs transfer directories without recursing<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -l, --links copy symlinks as symlinks<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -L, --copy-links transform symlink into referent file\/dir<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --copy-unsafe-links only \"unsafe\" symlinks are transformed<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --safe-links ignore symlinks that point outside the tree<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --munge-links munge symlinks to make them safer<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -k, --copy-dirlinks transform symlink to dir into referent dir<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -K, --keep-dirlinks treat symlinked dir on receiver as dir<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -H, --hard-links preserve hard links<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -p, --perms preserve permissions<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -E, --executability preserve executability<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --chmod=CHMOD affect file and\/or directory permissions<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -A, --acls preserve ACLs (implies -p)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -X, --xattrs preserve extended attributes<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -o, --owner preserve owner (super-user only)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -g, --group preserve group<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --devices preserve device files (super-user only)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --specials preserve special files<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -D same as --devices --specials<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -t, --times preserve modification times<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -O, --omit-dir-times omit directories from --times<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -J, --omit-link-times omit symlinks from --times<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --super receiver attempts super-user activities<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --fake-super store\/recover privileged attrs using xattrs<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -S, --sparse handle sparse files efficiently<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --preallocate allocate dest files before writing<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -n, --dry-run perform a trial run with no changes made<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -W, --whole-file copy files whole (w\/o delta-xfer algorithm)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -x, --one-file-system don't cross filesystem boundaries<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -B, --block-size=SIZE force a fixed checksum block-size<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -e, --rsh=COMMAND specify the remote shell to use<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --rsync-path=PROGRAM specify the rsync to run on remote machine<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --existing skip creating new files on receiver<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --ignore-existing skip updating files that exist on receiver<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --remove-source-files sender removes synchronized files (non-dir)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --del an alias for --delete-during<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete delete extraneous files from dest dirs<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-before receiver deletes before xfer, not during<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-during receiver deletes during the transfer<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-delay find deletions during, delete after<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-after receiver deletes after transfer, not during<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-excluded also delete excluded files from dest dirs<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --ignore-missing-args ignore missing source args without error<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delete-missing-args delete missing source args from destination<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --ignore-errors delete even if there are I\/O errors<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --force force deletion of dirs even if not empty<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --max-delete=NUM don't delete more than NUM files<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --max-size=SIZE don't transfer any file larger than SIZE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --min-size=SIZE don't transfer any file smaller than SIZE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --partial keep partially transferred files<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --partial-dir=DIR put a partially transferred file into DIR<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --delay-updates put all updated files into place at end<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -m, --prune-empty-dirs prune empty directory chains from file-list<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --numeric-ids don't map uid\/gid values by user\/group name<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong>--usermap=STRING custom username mapping<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --groupmap=STRING custom groupname mapping<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --chown=USER:GROUP simple username\/groupname mapping<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --timeout=SECONDS set I\/O timeout in seconds<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --contimeout=SECONDS set daemon connection timeout in seconds<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -I, --ignore-times don't skip files that match size and time<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --size-only skip files that match in size<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --modify-window=NUM compare mod-times with reduced accuracy<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -T, --temp-dir=DIR create temporary files in directory DIR<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -y, --fuzzy find similar file for basis if no dest file<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --compare-dest=DIR also compare received files relative to DIR<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --copy-dest=DIR ... and include copies of unchanged files<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --link-dest=DIR hardlink to files in DIR when unchanged<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -z, --compress compress file data during the transfer<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --compress-level=NUM explicitly set compression level<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --skip-compress=LIST skip compressing files with suffix in LIST<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -C, --cvs-exclude auto-ignore files in the same way CVS does<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -f, --filter=RULE add a file-filtering RULE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -F same as --filter='dir-merge \/.rsync-filter'<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> repeated: --filter='- .rsync-filter'<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --exclude=PATTERN exclude files matching PATTERN<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --exclude-from=FILE read exclude patterns from FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --include=PATTERN don't exclude files matching PATTERN<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --include-from=FILE read include patterns from FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --files-from=FILE read list of source-file names from FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -0, --from0 all *from\/filter files are delimited by 0s<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -s, --protect-args no space-splitting; wildcard chars only<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --address=ADDRESS bind address for outgoing socket to daemon<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --port=PORT specify double-colon alternate port number<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --sockopts=OPTIONS specify custom TCP options<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --blocking-io use blocking I\/O for the remote shell<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --outbuf=N|L|B set out buffering to None, Line, or Block<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --stats give some file-transfer stats<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -8, --8-bit-output leave high-bit chars unescaped in output<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -h, --human-readable output numbers in a human-readable format<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --progress show progress during transfer<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -P same as --partial --progress<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -i, --itemize-changes output a change-summary for all updates<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -M, --remote-option=OPTION send OPTION to the remote side only<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --out-format=FORMAT output updates using the specified FORMAT<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --log-file=FILE log what we're doing to the specified FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --log-file-format=FMT log updates using the specified FMT<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --password-file=FILE read daemon-access password from FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --list-only list the files instead of copying them<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --bwlimit=RATE limit socket I\/O bandwidth<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --write-batch=FILE write a batched update to FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --only-write-batch=FILE like --write-batch but w\/o updating dest<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --read-batch=FILE read a batched update from FILE<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --protocol=NUM force an older protocol version to be used<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --iconv=CONVERT_SPEC request charset conversion of filenames<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --checksum-seed=NUM set block\/file checksum seed (advanced)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -4, --ipv4 prefer IPv4<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> -6, --ipv6 prefer IPv6<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> --version print version number<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong> (-h) --help show this help (see below for -h comment)<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong><br \/>\n<em><br \/>\n<\/em><\/strong><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2007\" class=\"pvc_stats all  \" data-element-id=\"2007\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Be careful with the --delete switch!! I regard this as the most dangerous command since when rm -vr \/ did not have a default \"--interactive\" to prevent deletion without checks. \u00a0--delete did not seem to behave as described below - test it on expendable\u00a0data first! You only need z compression over slow links. a archive <a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/basic-useful-rsync-usage-summaries-from-man-page\/\" class=\"more-link\">...<span class=\"screen-reader-text\">\u00a0 Basic Rsync Usage Summaries from Man Page<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2007","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"a3_pvc":{"activated":true,"total_views":3,"today_views":0},"_links":{"self":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/2007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/comments?post=2007"}],"version-history":[{"count":0,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/2007\/revisions"}],"wp:attachment":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/media?parent=2007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/categories?post=2007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/tags?post=2007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}