Note that rsync is licensed under the GNU General Public License. You should read the license carefully to understand your rights and restrictions with respect to the rsync symbian port.
The rsync symbian port is still in early stages and the daemon may exit between connections. If you get errors connecting to the rsync daemon on the mobile device rerun the rsync executable on the mobile device and try again.
You can help improve the rsync symbian port by downloading the sources and submitting patches. If you are not inclined to do this then providing direct financial support can allow the porters of the software to continue to improve it.
Setting up rsync
The Symbian s60v3 port is based on the rsync 3.0.0pre5 release with some changes to work on mobile devices
You are mostly interested in the sis file: download.
The full source is also available as per the GPL requirements.
The sis file should cleanly install onto your mobile device and provide you with an rsync icon in your installed applications.
Before you run rsync you need to setup a configuration file telling rsync what directories to expose and other settings. This file will be in the C:\rsyncd directory. C:\ should be the drive letter assigned to the internal memory of your device.
Inside the C:\rsyncd directory you need a configuration file rsyncd.conf. This has the exact same options as it does in the normal distribution of rsync so you can refer to the manual pages online for more information. You will need to set chroot to being disabled because it is not supported on Symbian. Also you should setup rsync to only allow connections from the phone itself (localhost) and use sshforwarding to securely enable remote access.
A log file is created in C:\rsyncd which you will likely want to delete from time to time to keep its size under control.
Once you have the configuration file, run rsync from your installed applications. No window is created and rsync simply runs as a daemon in the background waiting for connections.
This assumes that the E:\ drive is your memory card and that we are wanting to test some synchronization with test1. More targets can be defined by giving their name in square brackets and a tab indented path on the mobile device to use for connections to that share.
Example C:\rsyncd\rsyncd.conf
use chroot = no
max connections = 4
hosts allow = 127.0.0.1
address = 127.0.0.1
[test1] path = E:\Documents\rsynctest
comment = test1
read only = no
Learn how to setup port forwarding for secure remote connections below these messages....
Setting up port forwarding
To connect to rsync from a desktop machine you are going to use "reverse port forwarding" in sshforwarding. The following example will assume you have a SSH server running on a computer called desktop and you want to keep a directory in sync with a copy on the symbian device. You should have the rsync daemon setup and running as detailed above. Note that in this case we assume that you are connecting to the desktop machine as the remote host setting in sshforwarding.
You should have already set the remote username and hostname and have connected to your server successfully before proceeding. Note that you do not have to connect to your desktop machine, as long as you can connect to the host and port (where the ssh server is running and port 1873 on that host) then you should be able to use rsync to your mobile device.
The standard port for rsync in daemon mode is 873.
Using reverse port forwarding we setup a listening port on the desktop machine: port 1873. When a client connects to that port on the desktop machine sshforwarding will connect to port 873 on the mobile device and send all traffic between 1873 on the desktop and 873 on the mobile device. This makes it appear as though the rsync that is running on the mobile device is really running on port 1873 on the desktop machine. As such any references to desktop:1873 in the following you should remember that traffic on this port will really be serviced by your mobile device.
Select "Reverse connect custom ports" from the menu in sshforwarding.
When prompted for the custom ports, enter the string;
1873:localhost:873
Which will setup 1873 on the desktop machine to connect to 873 on the mobile device.
You will then be prompted for your identity passphrase and a connection will be established with your SSH server.
Copying files with rsync
Note that there are some filesystem features which are supported on common systems such as Linux which are not supported on Symbian. For example, the file user and group ownership and file permissions are not readily mapped to Symbian. It is also unlikely that advanced features such as Extended Attributes or Access Control Lists are supported on your mobile device.
Common command line options to rsync to avoid problems when interacting with the Symbian rsync daemon are as follows
--no-owner --no-perms
Given the above configuration and the test1 share we might like to upload the files in the current directory to the mobile device. Note that the pwd command is used instead of just "." to make it more apparent in the examples.
desktop:/tmp/test $
$ rsync -av --no-owner --no-perms \
`pwd` rsync://localhost:1873/test1
The order of the paths in rsync is source-directory and then target-directory. If you change the order then the folder will be synchronized from your mobile device to the desktop machine.

