Updated the default "log format" string and the output of "%i".
[rsync/rsync.git] / rsyncd.conf.yo
index c42b117..ca0954c 100644 (file)
@@ -376,7 +376,9 @@ quote(itemize(
   it() %l for the length of the file in bytes
   it() %p for the process ID of this rsync session
   it() %o for the operation, which is either "send" or "recv"
-  it() %f for the filename
+  it() %f for the filename (long form)
+  it() %n for the filename (short form)
+  it() %L either the string " -> SYMLINK" or "" if not a symlink
   it() %P for the module path
   it() %m for the module name
   it() %t for the current date time
@@ -384,14 +386,48 @@ quote(itemize(
   it() %b for the number of bytes actually transferred 
   it() %c when sending files this gives the number of checksum bytes
     received for this file
+  it() %i an itemized list of what is being updated
 ))
 
-The default log format is "%o %h [%a] %m (%u) %f %l", and a "%t [%p] "
-is always added to the beginning when using the "log file" option.
+The default log format is "%o %h [%a] %m (%u) %l %f%L", and a "%t [%p] "
+is always prefixed when using the "log file" option.
 
 A perl script called rsyncstats to summarize this format is included
 in the rsync source code distribution.
 
+The %i format is a set of cryptic characters that are output as follows:
+
+quote(tt(  *Xcstpog ITEM_NAME))
+
+The bf(*) is either bf(<) (receive), bf(>) (send), or bf(*) (--dry-run) if
+the item is being updated, otherwise it is a space.
+
+The bf(X) will be replaced by one of the following: an "f" for a file, a
+"d" for a dir, an "L" for a symlink, or a "D" for a device.
+
+The rest of the letters in the string above are the actual letters that
+will be output if the associated attribute for the item is being updated;
+otherwise the letter will be replaced by either a "." for no change, a "+"
+for a new item, or a "?" if the attribute is not known (which happens when
+talking to an older rsync).  The meanings of the attribute letters are as
+follows:
+
+quote(itemize(
+  it() A bf(c) means the checksum of the file is different and will be
+  updated by the file transfer (requries bf(--checksum)).
+  it() A bf(s) means the size of the file is different and will be updated
+  by the file transfer.
+  it() A bf(t) means the modified time is being updated to the server's
+  value (requires --times).  An alternate value of bf(T) means that the
+  time is being set to the transfer time, which happens when symlinks are
+  updated, or when a file or device is updated without --times.
+  it() A bf(p) means the permissions are being updated (requires
+  bf(--perms)).
+  it() An bf(o) means the owner is being updated (requires bf(--owner) and
+  root privileges).
+  it() A bf(g) means the group is being updated (requires bf(--group)).
+))
+
 dit(bf(timeout)) The "timeout" option allows you to override the
 clients choice for I/O timeout for this module. Using this option you
 can ensure that rsync won't wait on a dead client forever. The timeout
@@ -404,20 +440,19 @@ specify a space-separated list of rsync command line options that will
 be refused by your rsync server.
 You may specify the full option name, its one-letter abbreviation, or a
 wild-card string that matches multiple options.
-For example, this would refuse bf(--checksum) (bf(-c)) and all the options that
-start with "delete":
+For example, this would refuse bf(--checksum) (bf(-c)) and all the various
+delete options:
 
-quote(tt(    refuse options = c delete*))
+quote(tt(    refuse options = c delete))
+
+The reason the above refuses all delete options is that the options imply
+bf(--delete), and implied options are refused just like explicit options.
 
 When an option is refused, the server prints an error message and exits.
 To prevent all compression, you can use "dont compress = *" (see below)
 instead of "refuse options = compress" to avoid returning an error to a
 client that requests compression.
 
-Note that rsync's bf(--del) option is implemented as a popt alias, so there
-is no need (an indeed, no way) to refuse "del" by name -- just matching
-the bf(--delete-during) option (e.g. "delete*") will refuse bf(--del) as well.
-
 dit(bf(dont compress)) The "dont compress" option allows you to select
 filenames based on wildcard patterns that should not be compressed
 during transfer. Compression is expensive in terms of CPU usage so it