Does rsync change file content (dealing with hardlinks)?

Solution 1:

With standard options, rsync will copy the new file assigning it a semi-random name, then it will rename the new file with the original name. In this process, no writes are directed at the original file, preserving its hadlinks.

On the other side, using the non-default--inplace option will overwrite the original file and its hardlinks.

Anyway, I strongly suggest to give a look at --link-dest option, which is extremely useful for deduplicated backups.