rsync keeps writing files over

Steven Levine steve53 at earthlink.net
Sat Jun 11 03:42:28 UTC 2016


In <D37E24FA.120D%mcdowellh at si.edu>, on 06/09/16
   at 12:17 AM, "McDowell, Blake" <McDowellH at si.edu> said:

Hi Blake,

Please reply to the list.

>rsync -nri --modify-window=1 <src> <dest>

As others mentioned, you need need to use --times.  This is needed so that
we can see use output from --itemize-changes.

>Gives me the following for most files >f..T.......
>2015_167_1_1__Boy_What_A_Girl_R2/2015_167_1_1__Boy_What_A_Girl__UHD_DPX_R2/
>BWAG_R2_00138428.dpx
>Although a few have  >f..T......n
>2015_167_1_1__Boy_What_A_Girl_R2/2015_167_1_1__Boy_What_A_Girl__UHD_DPX_R2/
>BWAG_R2_00135909.dpx

At a certain level this makes sense.  Without --times, the timestamps are
not used to determine whether or not a file needs to be transferred and,
in addition, the receiver will set the timestamp to the current time on
the receiver.

This is what the docs mean when they say

"Note that if this option is not used, the optimization that excludes
files that have not been modified  cannot  be  effective;"

>(I¹m not quite sure I completely understand  -modify-window)

You should not need --modify-window.  Modify window is needed when the
source and destination file systems have differing timestamp resolutions. 
For example if transferring to a Window's filesystem that had 2-second
timestamp resolution from a *ix system with 1-second resolution, you would
need to use --modify-window=2 to avoid spurious transfers.

>Here is a <dest> file example of timestamps as rsync interprets them:
>-rwxrwxrwx     24,839,552 2016/06/08 13:13:19 BWAG_R2_00086400.dpx

>Here is a <src> file example of timestamps as rsync interprets them:
>-rwxrwxrwx     24,839,552 2016/05/27 13:43:32 BWAG_R2_00086400.dpx

Without --times, this is the expected behavior.  The timestamps differ, so
rsync will transfer the file.  Because the file content is the same, the
transfer will be quick, but a tranfer will happen.

If you cannot use --times, you many need to use some combination of
--update and --ignore-times an possibly --size-only to avoid selecting
these files for transfer.  Exactly which options will be approriate will
depend on the content of your files and how the content changes.

FWIW, if --times cannot set the timestamp correctly on the receiver, I
would suspect an issue with the filesystem or your rsync build.  Rsync
uses the standard platform APIs for setting the timestamps so this should
just work.

>But, for the files that have the ³n² 

What "n" do you mean?

Another FWIW, when testing, --dry-run (i.e. -n) is useful to understand
which files will be transferred, especially when working with complex
filters, but you need to run without -n to see that true results of the
transfer.

Steven

-- 
----------------------------------------------------------------------
"Steven Levine" <steve53 at earthlink.net>  Warp/DIY/BlueLion etc.
www.scoug.com www.arcanoae.com www.warpcave.com
----------------------------------------------------------------------




More information about the rsync mailing list