Rsync Over Ssh On Different Port In Linux

November 3, 2012 | By
| Reply More
Linux rsync over ssh on different port

rsync over ssh

Rsync is a tool for copying local and remote files. It is fast and versatile. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. Rsunc is famous for its delta-transfer algorithm. This algorithm reduces the amount of data to be sent over the network by sending only the difference between the files at two locations. Rsync is widely used for backing up the data. This article describes how we can connect to ssh to copy data using rsync, if ssh is running on a different port.

Rsync

The basic usage of rsync command is:

rsync [options] src [dest]

By default, rsync command will just list the files at source if no destination is provided. For example,

$ rsync /usr/
drwxr-xr-x 4096 2011/04/26 04:26:48 .
drwxr-xr-x 53248 2012/09/26 23:05:59 bin
drwxr-xr-x 4096 2011/04/26 04:27:37 games
drwxr-xr-x 20480 2012/09/08 19:17:32 include
drwxr-xr-x 69632 2012/09/26 23:05:50 lib
drwxr-xr-x 4096 2011/04/26 04:26:48 lib64
drwxr-xr-x 4096 2011/11/16 13:02:25 local
drwxr-xr-x 12288 2012/09/26 23:05:51 sbin
drwxr-xr-x 12288 2012/09/22 14:25:28 share
drwxrwsr-x 4096 2012/09/08 19:46:27 src

Now, to copy locally, we can issue the following command

$ rsync -av file1 dir1/
sending incremental file list
sent 45 bytes received 12 bytes 114.00 bytes/sec
total size is 0 speedup is 0.00

This will copy the file named 'file1' to the directory 'dir1'. The -v option here is just for verbose output.

Rsync + Ssh

If we want to connect to a machine running ssh on some different port using rsync, then we can run the following syntax

$ rsync --rsh='ssh -p1234' <sourcefile> user@host:/path/to/destination/directory

The port on which ssh is running is specified using -p option as specified above. Here, port 1234 should be changed with the port at which the ssh server is running. An example of working of the above syntax is

$ rsync -av --rsh='ssh -p22' file1 root@192.168.1.8:/mnt
The authenticity of host '192.168.1.8 (192.168.1.8)' can't be established.
ECDSA key fingerprint is fe:44:85:8c:2c:63:fb:d7:df:dd:27:17:45:04:28:9b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.8' (ECDSA) to the list of known hosts.
root@192.168.1.8's password:
sending incremental file list
file1

sent 84 bytes received 31 bytes 10.95 bytes/sec
total size is 0 speedup is 0.00

This will copy the file using rsync+ssh, and ssh is not running on its default port (although in the above example, the port is default, i.e. 22).

Filed Under : LINUX COMMANDS, LINUX HOWTO

Tagged With : ,

Free Linux Ebook to Download

Leave a Reply

Commenting Policy:
Promotion of your products ? Comment gets deleted.
All comments are subject to moderation.