You can use rsync.
Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host. Rsync finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time.
Example usages are:
rsync -avz --progress /source/directory /destination/directory/
When you run the same command again, it sends only those that changes are made in the source.
if you wanted logs of rsync you can try
rsync -avz --progress --log-file=/tmp/rsynclog /source/directory /destination/directory/ && echo && cat /tmp/rsynclog