Is there a way to specify to rsync that metadata should NOT be updated
unless the object was created, or the contents of a file was modified.
Specifically, what I want to do is use rsync to "install" a file tree
of a few changes (a package being replicated to multiple machines after
it has been compiled). The problem is that the file tree created to
hold the files from the install does not have the correct meta data in
the directories unless the package is installing that directory. For
example /usr/bin has permission 0755 normally, but I find that same
directory within the directory derived from building the package does
not have 0755. Sometimes directories are owned or have a group other
than root for a reason. When I replicate these few files over to the
target systems, I want the metadata on the target systems to stay as it
was, and not be updated by the package (except of course for new ones
created by the package).
Any way to do this in rsync?
I'd prefer not to have to reproduce that metadata back into the package
tree being built (this would still cause the metadata to change, though
it would not be changed differently). The reason is that it may be the
case at some point that the metadata is not universally the same across
different machines and needs to be retained on each machine the way it
was set up originally.
I can do this by staging the tree in /tmp first and running a complex
script to apply the updates. I would prefer to find something cleaner
that already does it right, if possible.
--
-----------------------------------------------------------------
| Phil Howard - KA9WGN | Dallas | http://linuxhomepage.com/ |
| phil-nospam@ipal.net | Texas, USA | http://phil.ipal.org/ |
-----------------------------------------------------------------