I’ve done some digging… here are the results.
Server
First you’d want to run the rsync daemon at the source side on a non-default port.
You may run this directly
rsync --daemon --port=10873 --config=/etc/rsyncd.conf
Or use the WD wrappers to save a custom port in the config and then start the daemon
rsyncom -e 1 -p somepassword -o 10873 -s
rsyncom -x
The password gets converted to base64 and is stored in /etc/rsyncd.secrets.
The WD wrapper generates a configuration file with rsync modules for all shares.
I wouldn’t open up the rsync port to the public internet. I think the password can be bruteforced too easily.
Use SSH instead.
You should change the SSH port in /etc/ssh/sshd_config (e.g. to 10022) and then
kill -HUP $(pidof sshd)
Client
On the client side, you may connect directly to the rsync daemon to list the shares. It will prompt a password, fill in the base64 encoded version! If you chose ‘somepassword’ before, you the password is ‘c29tZXBhc3N3b3Jk’
rsync -rtv --port 10873 root@server_ip_address::
e.g. to list the contents of the Public share
rsync -rtv --port 10873 root@server_ip_address::Public
e.g. archive pictures from local PC to the Pictures share on the server (only transfer those that weren’t there yet)
rsync -a --progress ~/cat_pics --port 10873 root@server_ip_address::Pictures/cats
Note that there’s no encryption of the data over the rsync port.
For remote connections, you should connect over SSH. Note the single colon.
rsync -rtv --port 10022 root@server_ip_address:
Sync Jobs
There is a WD tool to manage rsync jobs, but I didn’t analyse it yet.
It creates cron jobs with rsync commands. It is very unlikely that it supports custom ports so you better don’t get your hopes up.
root # rsyncmd -h
NAME
rsyncmd - Run Rsync Backup [v1.00_20130904]
SYNOPSIS
rsyncmd [-h] [-n seq] [-r job_name] [-t inc_remote_path] [-l inc_path_list]
DESCRIPTION
-h help
(local) -b force to run rsync backup (ignore state)
(local) -n input backup seq, and run rsync backup recover to remote
(local) -r input job name, and run rsync backup according to xml setting
(local) -k input job name, and kill rsync backup job
(local) -l -r output inc path to xml file
(remote) -t rotate remote inc folder
(remote) -l -t output xml format inc path