Synchronize the contents of the source directory to the destination directory, recursively, with compression, preserving timestamps, preserving ownership and permissions, and deleting files in the destination directory that don't exist in the source directory.
rsync -rzuav --delete ~/source/ ~/destination/