Is there an rsync like program with the ability to track changes in file location?

https://feddit.de/post/1957046

Is there an rsync like program with the ability to track changes in file location? - Feddit

I’m looking for a linux program that can mirror a directory to another drive and move a subdirectory in the mirror.

@SomeBoyo As in something analogous to what a cli git status shows when a file has been moved or renamed?

Not that I know of, but could you maybe get what you need by grepping the output of the progress and info flags?

Why not maintain a soft or hard link?
I am trying to create a crontab to backup multiple directory in which files change their location, but I don’t know if links would solve it
Have a look at rsync-sidekick maybe.
GitHub - m-manu/rsync-sidekick: Propagate file renames, movements and timestamp changes before rsync runs

Propagate file renames, movements and timestamp changes before rsync runs - GitHub - m-manu/rsync-sidekick: Propagate file renames, movements and timestamp changes before rsync runs

GitHub

As long as the backup system performs deduplication, it should be able to store the backup data efficiently even if the source files are constantly moved around or renamed.

ZFS snapshots can perform deduplication. There is also ZBackup, which also has deduplication support.

I use RealTimeSync.

It just… Works. I love it. It’s free.

I found an answer on StackExchange that refers to a tool called rsync-sidekick which looks like it could achieve your aims.
Rsync that handles moves sensibly

I've been successfully using rsync to synchronize my home directories between my laptop and my netbook (both using ext4 with Linux). My only problem with it is that every now and then I like to

Unix & Linux Stack Exchange
Why not exclude the folder you want to move from the initial sync, and sync that folder separately to the final location?
Syncthing is also an option.
lsyncd does just this. It’s intended use is to sync directories between systems over slow(ish) uplink, but it can work locally as well. It takes some fiddling to set up, but once set up it just does it’s thing seamlessly at the background. However if you’re just looking for a backup solution I’d might look for something else, like a plain rsync script.
GitHub - lsyncd/lsyncd: Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets

Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets - lsyncd/lsyncd

GitHub
But rsync can do this fine with –recursive --delete. The mirror will remain an exact replica.