Rsync From FreeBSD To Windows

Tim Daneliuk tundra at tundraware.com
Thu Jun 12 20:03:14 UTC 2008


Tim Daneliuk wrote:
> I have an smbfs share that mounts at boot time on a 6.3-STABLE system.
> I want to rsync from a FreeBSD directory to the Windows share.  For
> reasons I seem to not be able to discover, rsync insists on copying
> every file, every time.   The exact command is:
> 
>     rsync -va /FreeBSD-dir-tree /windows-mount
> 
> I have tried -O -no-p  without success. 
> 
> I'm guessing this is a problem mapping the filesystem semantics from
> FreeBSD to SMB so that rsync always thinks the files on the
> destination SMB share are out of date, but I cannot seem to find the
> right magic to overcome this.
> 
> 
> Ideas?  (And TIA),

Inevitably, as soon as I posted this, I finally discovered the problem,
which is worth describing here to save other people the same suffering:

1) The problem occurs when the SMB mount is a FAT formatted drive.
   In this case, it was a USB drive plugged into the WinXP machine
   being used as removable backup medium.

2) The problem occurs because the FAT file entry has insufficient
   resolution to maintain exactly the same timestamp as FreeBSD.
   i.e., FreeBSD (and I presume Linux or other Unix variants) have
   a finer timestamp resolution than does FAT.

3) The fix is to tell rsync to not be so fussy about exact timestamp
   matches:

     rsync -va --modify-window=1  src dest

4) This assumes that the FreeBSD server and the Windows machine
   hosting the share are more-or-less synchronized to the correct
   absolute time.  If they are not, the --modify-window= parameter
   may have to be larger to accommodate the difference in what each
   machine thinks the "correct time" is.



-- 
----------------------------------------------------------------------------
Tim Daneliuk     tundra at tundraware.com
PGP Key:         http://www.tundraware.com/PGP/



More information about the freebsd-questions mailing list