it's most likely because of vfat timestamp limitation
try
--modify-window
????????????? When comparing two timestamps, rsync treats the
timestamps as being equal if they differ by no more than? the modify-window
????????????? value.?? This? is? normally? 0 (for an exact match), but
you may find it useful to set this to a larger value in some situa-
????????????? tions.? In particular, when transferring to or from an MS
Windows FAT filesystem (which represents? times? with? a 2-second
????????????? resolution), --modify-window=1 is useful (allowing times
to differ by up to 1 second).
roland
Am 21.01.24 um 22:15 schrieb Ian Z via rsync:> I am trying to use rsync between two local directories on Linux.
>
> The source directory is on a normal ext4 partition, under my home
> directory. The destination is an SD card that I insert into the card
> reader on the computer, formatted with a vfat filesystem.
>
> The command line is like
>
> rsync -avC --delete /home/itz/foo/ /media/itz/DEAD-BEEF/foo/
>
> This does not work as I expected: all files are always transferred,
> even when I run this command 2 times with nothing in between. I
> expected only new or changed files to be transferred. Is this
>
> - a user error
> - a rsync bug
> - a limitation of the vfat filesystem?
>
> In any case, what can I do, using rsync or possibly something else, to
> do what I want? I note that the absolute timestamps on the files are
> unimportant; I can change them to whatever. All that matters is that
> new and changed files are copied every time I run this command, and
> only those files.
>