Wayne Davison wayned at
Tue Feb 22 20:26:20 GMT 2005

On Tue, Feb 22, 2005 at 01:50:39PM -0600, Dale Bohl wrote:
> How does one get a list of ANY and ALL changes made during a rsync
> session?

With one -v you only get the names of transferred files and directories
with timestamp changes.  With an extra -v you get a list of all the
files in the transfer, but only files that had no changes at all are
output with " is uptodate" appended onto the end, so you can filter
out those lines and end up with a list of all changed items (including
group, time, permissions, etc.).

Beginning with 2.6.4, you'll be able to use the new "%i" (itemized
changes) logging format to ask for a list of all the changes, e.g.
--log-format='%i %n%L'.  The easy way to request that this log-format
be used is to use the new -i (--itemize-changes) option, like this:

% rsync -ai source/dir host:/dest/
.d..t..g dir/
> dir/file.c dir/touch-file

This shows you that the directory "dir" got its time touched and its
group changed, the file "dir/file.c" was transferred (sent = ">"), which
updated its size and its timestamp, and the file "dir/touch-time" had
both its time and its permissions tweaked.  Note that you don't need to
use -v when using a --log-format.  Also beginning with 2.6.4, you won't
need to use -v to get delete messages, which will be logged as long as
the format string has either %i or %o in it.  In the case of %i, the
value is "deleting" for a file that is being deleted on the receiver.

Rsync 2.6.4 is about to start its pre-release testing, but you can try
it out now by building one of the "nightly" tar files on the rsync
website, if you like.


More information about the rsync mailing list