Most common usage of
rsync -anv ./ user@remote:/dir/
But when the timestamps of the files on source and target vary wildly it is better to use:
rsync -crntlv ./ user@remote:/dir/
-c stands for checksum. The option
-n is used to not overwrite anything (dry run). Drop
-n to actually run the command.
-t to preserve modification times,
-r to recursively scan subdirectories,
-l for symbolic links,
-v for verbose output.
I don’t use
-p to preserve permissions, but rather let the target system decide how to create files, and leave previous permissions intact.