Permissions causing full backups?

Matt McCutchen hashproduct at
Thu Apr 27 20:53:52 GMT 2006

On Thu, 2006-04-27 at 14:21 -0400, Link McGinnis wrote:
> I am using rsync/rsnapshot on Windows XP (via cygwin) to backup to a
> mapped share (/u) on a Linux server.

> .f...p... /cygdrive/c/Documen….
> snapshot_root    /cygdrive/u/docs_bkup/
> rsync_short_args           -arltgoDvzi
You mean you have mounted a share from some Linux server as U: on your
Windows machine and rsnapshot is transferring from C: to U:, both drives
accessed through Cygwin?  This arrangement strikes me as very awkward.
For one thing, you don't get the benefit of incremental transfer.  I can
see how permissions on U: would get mangled in rsync to Cygwin to
Windows to Samba (I'm guessing) to Linux conversion, causing U: to
ignore rsync's attempt to set the permissions from the source on it.
That means the permissions differ every time, so rsync doesn't try to
hard link files, but even if it did, hard linking is unlikely to work
through layers of Cygwin, Windows, and Samba.

As a workaround, don't preserve permissions.  You clearly tried to
preserve everything except permissions, but keep in mind that -a, your
first short option, includes -p.  Delete the a: "-rltgoDvzi".  I would
also recommend not preserving user and group ownership.  This should get
rid of the itemized differences, but rsync is still likely to fail to
hard link identical files.

A better solution would be to have the Windows machine push the files to
an rsync daemon running on the Linux server.  However, rsnapshot only
supports local snapshot roots, so you would have write your own script
to invoke rsync.  This isn't so bad.  Just come up with a name for the
destination directory and use --link-dest to link to the previous one.
To set up an rsync daemon, write a configuration file according to the
instructions in rsyncd.conf(5), and then invoke the daemon using rsync
--daemon --config=<the-file>.  This strategy will give you incremental
transfer and hard linking, and you can safely tell rsync to preserve
permissions.  Nonetheless, the permissions rsync reads through Cygwin
won't meaningfully represent Windows permissions.

Matt McCutchen
hashproduct at

More information about the rsync mailing list