In the new days, rsync -a dir1/ dir2 is the ticket
...
If you rsync more than once, only the files in dir1 that have changed are
copied.
More then that. It uses a clever algorithm to send over only changes. It
was the basis of Tridgedell's PhD thesis.
https://www.samba.org/~tridge/phd_thesis.pdf