rsync is used to transfer and synchronise files between different systems. It can be efficient by only transferring parts of the files that differ.
recurse into directories
sender removes synchronized files (non-dirs)
This will leave empty directories on the source side.
show progress during transfer
This option shows transfer rates, percent complete for the current file, and how many items remain to be transferred.
skip based on checksum, not mod-time & size