X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b90a6d9ff6c9455bcc726d0e9a1ffc9c8f7dddf1..618c8a73db4fdccf911ec3b55eb214f1c0e54fba:/rsync.yo diff --git a/rsync.yo b/rsync.yo index f407b5c6..014f7b52 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(12 Aug 2004)()() +manpage(rsync)(1)(30 Sep 2004)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -518,10 +518,17 @@ from the sender. dit(bf(--inplace)) This causes rsync not to create a new copy of the file and then move it into place. Instead rsync will overwrite the existing file, meaning that the rsync algorithm can't extract the full amount of -network reduction it might otherwise. +network reduction it might otherwise (since it does not yet try to sort +data matches -- a future version may improve this). -This option is useful for transfer of large files with block-based change -or appended data, and also on systems that are disk bound not network bound. +This option is useful for transfer of large files with block-based changes +or appended data, and also on systems that are disk bound, not network +bound. + +The option implies --partial (since an interrupted transfer does not delete +the file), but conflicts with --partial-dir, --compare-dest, and +--link-dest (a future rsync version will hopefully update the protocol to +remove these restrictions). WARNING: The file's data will be in an inconsistent state during the transfer (and possibly afterward if the transfer gets interrupted), so you @@ -799,20 +806,25 @@ although this skips files that haven't changed; see also --link-dest). This option increases the usefulness of --partial because partially transferred files will remain in the new temporary destination until they have a chance to be completed. If DIR is a relative path, it is relative -to the destination directory (which changes in a recursive transfer). +to the destination directory. dit(bf(--link-dest=DIR)) This option behaves like bf(--compare-dest) but also will create hard links from em(DIR) to the destination directory for unchanged files. Files with changed ownership or permissions will not be linked. -Like bf(--compare-dest) if DIR is a relative path, it is relative -to the destination directory (which changes in a recursive transfer). An example: verb( rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/ ) +Like bf(--compare-dest) if DIR is a relative path, it is relative to the +destination directory. +Note that rsync versions prior to 2.6.1 had a bug that could prevent +--link-dest from working properly for a non-root user when -o was specified +(or implied by -a). If the receiving rsync is not new enough, you can work +around this bug by avoiding the -o option. + dit(bf(-z, --compress)) With this option, rsync compresses any data from the files that it sends to the destination machine. This option is useful on slow connections. The compression method used is the @@ -918,14 +930,29 @@ in the destination file's directory (rsync will also try to remove the DIR if a partial file was found to exist at the start of the transfer and the DIR was specified as a relative path). -If you are deleting files on the destination and your partial-dir is -inside the destination hierarchy, make sure you specify an exclude to -prevent the partial file from being deleted (it could get deleted at the -end of the transfer when using --delete-after, or at the beginning of the -transfer when using --delete). E.g. "--exclude=.rsync-partial/". - -IMPORTANT: the --partial-dir should not be writable by other users to -avoid a security risk. E.g. AVOID "/tmp". +If the partial-dir value is not an absolute path, rsync will also add an +--exclude of this value at the end of all your existing excludes. This +will prevent partial-dir files from being transferred and also prevent the +untimely deletion of partial-dir items on the receiving side. An example: +the above --partial-dir option would add an "--exclude=.rsync-partial/" +rule at the end of any other include/exclude rules. Note that if you are +supplying your own include/exclude rules, you may need to manually insert a +rule for this directory exclusion somewhere higher up in the list so that +it has a high enough priority to be effective (e.g., if your rules specify +a trailing --exclude=* rule, the auto-added rule will be ineffective). + +IMPORTANT: the --partial-dir should not be writable by other users or it +is a security risk. E.g. AVOID "/tmp". + +You can also set the partial-dir value the RSYNC_PARTIAL_DIR environment +variable. Setting this in the environment does not force --partial to be +enabled, but rather it effects where partial files go when --partial (or +-P) is used. For instance, instead of specifying --partial-dir=.rsync-tmp +along with --progress, you could set RSYNC_PARTIAL_DIR=.rsync-tmp in your +environment and then just use the -P option to turn on the use of the +.rsync-tmp dir for partial transfers. The only time the --partial option +does not look for this environment value is when --inplace was also +specified (since --inplace conflicts with --partial-dir). dit(bf(--progress)) This option tells rsync to print information showing the progress of the transfer. This gives a bored user @@ -955,9 +982,9 @@ the file, and the addition of a total-transfer summary in parentheses. These additional numbers tell you how many files have been updated, and what percent of the total number of files has been scanned. -dit(bf(-P)) The -P option is equivalent to --partial --progress. I -found myself typing that combination quite often so I created an -option to make it easier. +dit(bf(-P)) The -P option is equivalent to --partial --progress. Its +purpose is to make it much easier to specify these two options for a long +transfer that may be interrupted. dit(bf(--password-file)) This option allows you to provide a password in a file for accessing a remote rsync server. Note that this option