What you probably want

  • Over a network
    • If the files are easily compressed and both machines are fast: rsync -avz
    • Otherwise: rsync -av
  • Mirroring a hard disk with issues
    • rsync -avc

FAT filesystems

If you're copying to a FAT filesystem, use rsync -rtlD --modify-window=2. FAT filesystem time resolution isn't as exact as, say, ext4, so modify-window gives some wiggle room to time comparisons.

From https://superuser.com/a/1785111

Moving files

You probably want --remove-source-files. Verify that copies work first! Chaining an equivalent rsync with --remove-source-files added after the first rsync can help you verify before committing to the deletion.