Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.
Ubuntu out of the box provides an initiation script to run the rsync daemon at boot time, by default the daemon is disabled despite the existence of the initiation script. Here's how to enable the daemon to run at boot from the initialisation script.
Set RSYNC_ENABLE to true in the following files to enable rsyncd at boot:
sudo gedit /etc/init.d/rsync
sudo gedit /etc/default/rsync
Create the file /etc/rsyncd.conf configuration for rsync in daemon mode. The file should contain the following. In the file, user should be replaced with the name of user on the remote machine being logged into:
sudo gedit /etc/rsyncd.conf
Create /etc/rsyncd.secrets for user's password. User should be the same as above, with password the one used to log into the remote machine as the indicated user.max connections = 2log file = /var/log/rsync.logtimeout = 300
[share]comment = Public Sharepath = /home/shareread only = nolist = yesuid = nobodygid = nogroupauth users = usersecrets file = /etc/rsyncd.secrets
sudo vi /etc/rsyncd.secrets
press 'a' then type your:
then press 'Esc', then type :wq! and press enter to exit vi.
This step sets the file permissions for rsyncd.secrets.
sudo chmod 600 /etc/rsyncd.secrets
Then run the following command to run the rsync daemon for the first time, alternatively reboot:
sudo /etc/init.d/rsync restart
Then run the following to check the status of the daemon:
sudo /etc/init.d/rsync status
The daemon must run with root privileges if you wish to use chroot, to bind to a port numbered under 1024 (as is the default 873), or to set file ownership. Otherwise, it must just have permission to read and write the appropriate data, log, and lock files. The daemon automatically runs with root privileges under the initialisation script.