I've discovered tonight that some rsync backups aren't quite working as intended.
For info, we're using rsync version 3.1.2, with options -rulv
.
In short, on one of our server's HDDs we have directories full of files; some of those files are occasionally symlinked to another location for a while (an SSD cache, in fact) and then some of them are reverted to being plain files again later. (FWIW, we use absolute symlinks to point to the cache. I have retrieved a sample from our remote backup box and verified that the absolute symlinks are preserved.)
I've now realised that the remote copy of the data contains symlinks which have since been reverted to plain files on the local server. This means that the regular rsync process is somehow NOT overwriting the remote symlinks with plain files. It's also clear that it must have overwritten the remote plain files with symlinks at some point, so it's odd that it's unwilling to reverse this process.
I've read the rsync man page and am unable to (a) understand this behaviour or (b) work out if a combination of options exists which will do the "right" thing in this context. By "right" thing, I mean overwrite a remote plain file when the local side has a symlink [already happening successfully], and overwrite a remote symlink when the local side reverts to a plain file [not happening at present]...
Guidance gratefully received!
-u
. Check if the local symlink is replaced by an older real file.