Rsync Server

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

This application is used to deploy an rsync server, which is a utility to efficiently transfer and synchronize files and directories between two different systems.

For more information about rsync, check the official man page.

Attach a public IP

The parameter Public IP must be used to attach an IP address, which is necessary to connect to the remote server from an external rsync client.

The port numbers associated with the IP address should be set as shown below:

drawing
where port `873` is the rsync daemon port, while port `22` is used to connect to the server via the [SSH](https://www.ssh.com/academy/ssh) protocol.

Synchronize local data

There are two different ways for an rsync client to connect to a remote system and synchronize data:

  1. Contacting the rsync daemon directly via TCP.

  2. Using a remote-shell program as the transport (such as ssh or rsh).

For example, in the first case one can use the following command:

user@laptop:~$ rsync -avP ./data rsync://ucloud@host:873/volume

where host must be replaced with the public IP of the UCloud remote server, as discussed above. This will transfer/sync the folder named data from the user local laptop to the path /work/data on the remote server. By default, the rsync volume is set equal to the working directory path, i.e. /work. The user can select a different folder as volume with the option: Rsync Volume. The password used to access the volume is generated randomly. The latter is printed in the standard output of the job interface.

In the second case, in order to use the remote-shell transport layer protocol (SSH) the user must upload on UCloud a local SSH public key and import it using the corresponding parameter, SSH Public Key. In this case, one can use the command:

user@laptop:~$ rsync -avP -e "ssh -i ~/.ssh/id_rsa -p 22"  ./data/ ucloud@host:/work/data

where ~/.ssh/id_rsa denotes the path to the matched SSH private key, which is stored on the user's laptop.

Note

The default user on the remote server must be ucloud.