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/>f.st... dir/file.c
.f..tp.. 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.
..wayne..