cheat:rsync # To copy files from remote to local, maintaining file properties and sym-links
# (-a), zipping for faster transfer (-z), verbose (-v):rsync-avzhost:file1:file1/dest/rsync-avz/sourcehost:/dest# To copy files using checksum (-c) rather than time to detect if the file has# changed. (Useful for validating backups):rsync-avc<src><dest># To copy contents of /src/foo to destination:# This command will create /dest/foo if it does not already existrsync-auv<src><dest># To explicitly copy <src> to <dest>rsync-auv<src><dest># To copy file from local to remote over ssh with non standard port 1234 to# destination folder in remoteuser's home directory:rsync-avz-e"ssh -p1234"<source><username>@<host>:<dest> tldr:rsync # rsync# Transfer files either to or from a remote host (not between two remote hosts).
# Can transfer single files, or multiple files matching a pattern.# Transfer file from local to remote host:rsyncpath/to/local_fileremote_host:path/to/remote_directory# Transfer file from remote host to local:rsyncremote_host:path/to/remote_filepath/to/local_directory# Transfer file in [a]rchive (to preserve attributes) and compressed ([z]ipped) mode with [v]erbose and [h]uman-readable [P]rogress:
rsync-azvhPpath/to/local_fileremote_host:path/to/remote_directory# Transfer a directory and all its children from a remote to local:rsync-rremote_host:path/to/remote_directorypath/to/local_directory# Transfer directory contents (but not the directory itself) from a remote to local:rsync-rremote_host:path/to/remote_directory/path/to/local_directory# Transfer a directory [r]ecursively, in [a]rchive to preserve attributes, resolving contained soft[l]inks , and ignoring already transferred files [u]nless newer:
rsync-rauLremote_host:path/to/remote_filepath/to/local_directory# Transfer file over SSH and delete local files that do not exist on remote host:rsync-essh--deleteremote_host:path/to/remote_filepath/to/local_file# Transfer file over SSH using a different port than the default and show global progress:rsync-e'ssh -p port'--info=progress2remote_host:path/to/remote_filepath/to/local_file$