Today a colleague asked me to sync some files to a server that is not
listening on SSH port 22.
I normally create a configuration entry in my ~/.ssh/config file, like
Host tosync
Hostname syncer.example.com
Port 1234
User syncuserand then command
rsync -va --progress --inplace . tosync:
But this time I didn’t want to create the entry in my SSH configuration,
because I need this trick in a script. So I started to read the rsync
manpage and after some experimenting I found
rsync -va --progress --inplace --rsh='ssh -p1234' . syncuser@syncer.example.com:
This syncs the current directory to host syncer.example.com on port
1234 as user syncuser.