rsync -avh source/ destination
-a
, archive (recursive and preserve everything about the file)
-v
, verbose
-h
, human readable sizes
Also useful:
-n
, dry run
-z
, compress
--delete
, delete files that don't exist on the source side
-c
, decide whether to copy based on checksum, rather than default of mod-time and size