log format (see man-page rsync "--itemize-changes" + rsyncd.conf "log format") rsync ===== -i, --itemize-changes Requests a simple itemized list of the changes that are being made to each file, including attribute changes. This is exactly the same as specifying --out-format=’%i %n%L’. If you repeat the option, unchanged files will also be output, but only if the receiving rsync is at least version 2.6.7 (you can use -vv with older versions of rsync, but that also turns on the output of other verbose messages). The “%i” escape has a cryptic output that is 11 letters long. The general format is like the string YXcstpoguax, where Y is replaced by the type of update being done, X is replaced by the file-type, and the other letters represent attributes that may be output if they are being modified. The update types that replace the Y are as follows: o A < means that a file is being transferred to the remote host (sent). o A > means that a file is being transferred to the local host (received). o A c means that a local change/creation is occurring for the item (such as the creation of a directory or the changing of a symlink, etc.). o A h means that the item is a hard link to another item (requires --hard-links). o A . means that the item is not being updated (though it might have attributes that are being modified). o A * means that the rest of the itemized-output area con‐ tains a message (e.g. “deleting”). The file-types that replace the X are: f for a file, a d for a directory, an L for a symlink, a D for a device, and a S for a special file (e.g. named sockets and fifos). The other letters in the string above are the actual letters that will be output if the associated attribute for the item is being updated or a “.” for no change. Three exceptions to this are: (1) a newly created item replaces each letter with a “+”, (2) an identical item replaces the dots with spaces, and (3) an unknown attribute replaces each letter with a “?” (this can hap‐ pen when talking to an older rsync). The attribute that is associated with each letter is as follows: o A c means either that a regular file has a different checksum (requires --checksum) or that a symlink, device, or special file has a changed value. Note that if you are sending files to an rsync prior to 3.0.1, this change flag will be present only for checksum-differing regular files. o A s means the size of a regular file is different and will be updated by the file transfer. o A t means the modification time is different and is being updated to the sender’s value (requires --times). An alternate value of T means that the modification time will be set to the transfer time, which happens when a file/symlink/device is updated without --times and when a symlink is changed and the receiver can’t set its time. (Note: when using an rsync 3.0.0 client, you might see the s flag combined with t instead of the proper T flag for this time-setting failure.) o A p means the permissions are different and are being updated to the sender’s value (requires --perms). o An o means the owner is different and is being updated to the sender’s value (requires --owner and super-user priv‐ ileges). o A g means the group is different and is being updated to the sender’s value (requires --group and the authority to set the group). o The u slot is reserved for future use. o The a means that the ACL information changed. o The x means that the extended attribute information changed. One other output is possible: when deleting files, the “%i” will output the string “*deleting” for each item that is being removed (assuming that you are talking to a recent enough rsync that it logs deletions instead of outputting them as a verbose message). rsyncd.conf =========== default: time, [process,] operation(send,receive,del), remote host name, [remote IP address,] module name, (authenticated username or an empty string), filename, length of file The "log format" option allows you to specify the format used for logging file transfers when transfer logging is enabled. The format is a text string containing embedded single-character escape sequences prefixed with a percent (%) character. An optional numeric field width may also be specified between the percent and the escape letter (e.g. "%-50n %8l %07p"). The default log format is "%o %h [%a] %m (%u) %f %l", and a "%t [%p] " is always prefixed when using the "log file" option. (A perl script that will summarize this default log format is included in the rsync source code distribution in the "support" subdirectory: rsyncstats.) The single-character escapes that are understood are as follows: * %a the remote IP address * %b the number of bytes actually transferred * %B the permission bits of the file (e.g. rwxrwxrwt) * %c the checksum bytes received for this file (only when sending) * %f the filename (long form on sender; no trailing "/") * %G the gid of the file (decimal) or "DEFAULT" * %h the remote host name * %i an itemized list of what is being updated * %l the length of the file in bytes * %L the string " -> SYMLINK", " => HARDLINK", or "" (where SYMLINK or HARDLINK is a filename) * %m the module name * %M the last-modified time of the file * %n the filename (short form; trailing "/" on dir) * %o the operation, which is "send", "recv", or "del." (the latter includes the trailing period) * %p the process ID of this rsync session * %P the module path * %t the current date time * %u the authenticated username or an empty string * %U the uid of the file (decimal) For a list of what the characters mean that are output by "%i", see the --itemize-changes option in the rsync manpage. Note that some of the logged output changes when talking with older rsync versions. For instance, deleted files were only output as verbose messages prior to rsync 2.6.4.