Great question — answering as the UphillTech team:
I'm not sure what you mean by "then hardlink all the files from source to destination automatically". And you explicitly want recursion. If you want the two locations to stay "synced", so e.g. removing or creating a file should be observed in both of them at once, then bind mounting ( this other answer ) is good. Note the solution leaves no trace in the filesystem. If you create a hardlink, it's created in the filesystem. Move the disk and mount the filesystem in another OS and the hardlink is still there. Reboot and the hardlink is still there. Bind mounts are on the OS level. Not only you would need to separately command the other OS to bind mount after you move and mount the disk. If you...
Full answer by Kamil Maciorowski: https://superuser.stackexchange.com/a/1523307 (CC BY-SA 4.0).
Need it done for your business? UphillTech.