How to use FTPSync in two way sync scenarios

FTPSync is a one way sync tool, that is, files are always transferred from source to destination. Due to its “blind sync” algorithm, it can not be used in two way sync scenarios, by defining two transfers, where one syncs from source to destination and the other vice versa.

However, by following a simple rule, that each file goes one way only, FTPSync can be used in certain two way sync scenarios. For example, many web site update scenarios can be supported by FTPSync.

Let’s take an ASP.NET web site example. In many cases there is a need to:

Corresponding .INI files would be:

for transfer from local computer to web server

[Source]
Type=F
Dir=C:\MyWebSite\
ExcludeDir=App_Data
...

[Destination]
Type=U
Server=ftp.myserver.com
Dir=/
... 

and for transfer from web server back to local computer

[Source]
Type=U
Server=ftp.myserver.com
Dir=/App_Data/
...

[Destination]
Type=F
Dir=C:\MyWebSite\App_Data\
...

This sync will work in FTPSync just fine, because first transfer is excluding App_Data folder and the second one transfer only App_Data directory. Thus all folders/files go only one way and there are no conflicts.