X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d38772e06fab97ebddad9e493aff9ba317ab4e7e..36119f6e2a8713d8f54454b84a6923ceff573879:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 753837b2..087912bc 100644 --- a/rsync.yo +++ b/rsync.yo @@ -349,6 +349,7 @@ to the detailed description below for a complete description. verb( --partial keep partially transferred files --partial-dir=DIR put a partially transferred file into DIR --delay-updates put all updated files into place at end + -m, --prune-empty-dirs prune empty directory chains from file-list --numeric-ids don't map uid/gid values by user/group name --timeout=TIME set I/O timeout in seconds -I, --ignore-times don't skip files that match size and time @@ -373,6 +374,7 @@ to the detailed description below for a complete description. verb( -0, --from0 all *from/filter files are delimited by 0s --address=ADDRESS bind address for outgoing socket to daemon --port=PORT specify double-colon alternate port number + --sockopts=OPTIONS specify custom TCP options --blocking-io use blocking I/O for the remote shell --stats give some file-transfer stats -h, --human-readable output numbers in a human-readable format @@ -402,6 +404,7 @@ accepted: verb( --config=FILE specify alternate rsyncd.conf file --no-detach do not detach from the parent --port=PORT listen on alternate port number + --sockopts=OPTIONS specify custom TCP options -v, --verbose increase verbosity -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 @@ -733,7 +736,7 @@ also for ensuring that you will get errors if the receiving side isn't being running as the super-user. To turn off super-user activities, the super-user can use bf(--no-super). -dit(bf(--chmod)) This options tells rsync to apply the listed "chmod" pattern +dit(bf(--chmod)) This option tells rsync to apply the listed "chmod" pattern to the permission of the files on the destination. In addition to the normal parsing rules specified in the chmod manpage, you can specify an item that should only apply to a directory by prefixing it with a 'D', or specify an @@ -851,7 +854,7 @@ See bf(--delete) (which is implied) for more details on file-deletion. dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files even when there are I/O errors. -dit(bf(--force)) This options tells rsync to delete directories even if +dit(bf(--force)) This option tells rsync to delete directories even if they are not empty when they are to be replaced by non-directories. This is only relevant without bf(--delete) because deletions are now done depth-first. Requires the bf(--recursive) option (which is implied by bf(-a)) to have any effect. @@ -1187,6 +1190,15 @@ double-colon (::) syntax to connect with an rsync daemon (since the URL syntax has a way to specify the port as a part of the URL). See also this option in the bf(--daemon) mode section. +dit(bf(--sockopts)) This option can provide endless fun for people +who like to tune their systems to the utmost degree. You can set all +sorts of socket options which may make transfers faster (or +slower!). Read the man page for the setsockopt() system call for +details on some of the options you may be able to set. By default no +special socket options are set. This only affects direct socket +connections to a remote rsync daemon. This option also exists in the +bf(--daemon) mode section. + dit(bf(--blocking-io)) 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 @@ -1374,6 +1386,36 @@ See also the "atomic-rsync" perl script in the "support" subdir for an update algorithm that is even more atomic (it uses bf(--link-dest) and a parallel hierarchy of files). +dit(bf(-m, --prune-empty-dirs)) This option tells the receiving rsync to get +rid of empty directories from the file-list, including nested directories +that have no non-directory children. This is useful for avoiding the +creation of a bunch of useless directories when the sending rsync is +recursively scanning a hierarchy of files using include/exclude/filter +rules. + +Because the file-list is actually being pruned, this option also affects +what directories get deleted when a delete is active. However, keep in +mind that excluded files and directories can prevent existing items from +being deleted (because an exclude hides source files and protects +destination files). + +You can prevent the pruning of certain empty directories from the file-list +by using a global "protect" filter. For instance, this option would ensure +that the directory "emptydir" was kept in the file-list: + +quote( --filter 'protect emptydir/') + +Here's an example that copies all .pdf files in a hierarchy, only creating +the necessary destination directories to hold the .pdf files, and ensures +that any superfluous files and directories in the destination are removed +(note the hide filter of non-directories being used instead of an exclude): + +quote( rsync -avm --del --include='*.pdf' -f 'hide! */' src/ dest) + +If you didn't want to remove superfluous destination files, the more +time-honored options of "--include='*/' --exclude='*'" would work fine +in place of the hide-filter (if that is more natural to you). + dit(bf(--progress)) This option tells rsync to print information showing the progress of the transfer. This gives a bored user something to watch. @@ -1523,6 +1565,9 @@ dit(bf(--port=PORT)) This specifies an alternate TCP port number for the daemon to listen on rather than the default of 873. See also the "port" global option in the rsyncd.conf manpage. +dit(bf(--sockopts)) This overrides the bf(socket options) setting in the +rsyncd.conf file and has the same syntax. + dit(bf(-v, --verbose)) This option increases the amount of information the daemon logs during its startup phase. After the client connects, the daemon's verbosity level will be controlled by the options that the client