1. Download cwrsync server, I recommend you get copssh too, this gives you a whole lot more apps and you will need it if you want to sync with a Linux machine.
2. Extract the zips.
3. Extract the installers with Uniextract
4. You also need to extract the two additional NSIS installers in the $PLUGINSDIR directory for both apps, use Uniextract.
5. Now you should have the following directories:
For Rsync:
Code:
ICW_Base
ICW_RsyncServer
For CopSSH
Code:
ICW_Base
ICW_OpenSSHServer
6. The "Base" directories should be exactly the same, so throw one of those away.
7. Open the $INSTDIR directories in all three remaining directories and copy everything in them to a single place, there are no duplicates files in subdirectories so you can answer yes to the Windows folder replacement dialog.
8. You also want to get the HTML documentation from the ICW_OpenSSHServer directory, on my system it was in a directory called "ýŸ€", in the same place as $INSTDIR. Copy the contents to the doc directory, you can discard the skel directory.
9. Now you should have:
Code:
Bin
doc
etc
fstab.txt
rsyncd.conf
10. The one thing that does not get configured by manually extracting is the etc\fstab file. Create a text file named fstab in the etc directory and paste the following into it, white space can be spaces, tabs, whatever, just as long as there is a gap (read the fstab.txt file too):
Code:
#
# see fstab.txt in the installation directory for more information
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
This creates a Cygwin compatible link for the root directory. Cygwin requires this!
Phew, that's the install done! I said the configuration is easy, not the install.

The commands in the Bin directory should all run now, you should be able to access all your drives using the standard Windows notation, use the ls command (short for list, Linux equivalent of Windows dir) to try it out:
Code:
ls.exe c:\
Cygwin doesn't normally like this notation, but it will detect it and internally convert it to Cygwin-ese, Cygwin paths look like this, for C:\temp:
Code:
/cygdrive/c/temp
That's what that line in fstab is for.
You can use UNC paths too:
Code:
ls.exe \\[computername]\[share]\
This will run, but Cygwin will show you a warning:
Code:
MS-DOS style path detected: \\[computername]\[share]
Preferred POSIX equivalent is: /srv/[computername]/[share]
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
To use Cygwin paths properly you need to add a line to the fstab file:
Code:
//[computername]/[share] /srv/[computername]/[share] ntfs binary,posix=0,user,noacl 0 0
You can replace "srv" with whatever you like, just remember what you changed it to when you refer to it. Now you can use this:
Code:
ls.exe /srv/[computername]/[share]
And you don't get a warning anymore.
To add the Bin directory to your path, you can run this at the command prompt, add it to your permanent enviroment variable or use it in a batch file (this is what I do):
Code:
set path=[Bin directory];%path%
It you want to connect to a remote Linux machine you need to use SSH. SSH needs to store some "stuff" about the connection so it needs to know your home directory, make a directory named "home" in the same directory as Bin and etc, and set the home variable:
Code:
set home=[path to home directory]
It's best to use the Cygwin path notation for that.
That's it, make sure to read the docs if you haven't used Rsync and SSH before. I'll do another post soon about making public and private keyfiles so you don't have to keep typing the password whenever you connect to a remote machine.