This is an old revision of the document!
Directory Synchronization
This article contains detailed description of synchronizing files. You may want to see simplified guide to the process instead.
WinSCP can synchronize content of local directory with remote one or vice versa or even mutually. Find the function in Commands > Synchronize. Synchronize dialog will appear, where you can select synchronization mode and configure options.
Once you confirm your options, WinSCP will collect list of differences in between the directories. If option Preview changes is enabled, you will be presented with the synchronization checklist, where you can select those synchronization actions you want to actually apply.
Advertisement
You can select files and directories for synchronization the same way you select them for file transfer.
Before using the function make sure that WinSCP knows correct timestamps of remote files, to avoid losing data.
If you use WinSCP to synchronize your files only, you can use command-line parameter /synchronize
to quickly open Synchronize dialog.
Synchronization Direction
There are three possible directions (targets) of synchronization.
With Local direction, changes from remote directory (source) are applied to local directory (target). Only the local directory is modified.
Remote mode is the same as Local, just in an opposite direction: changes from the local directory (source) are applied to the remote directory (target). Only the remote directory is modified.
In Both mode, both local and remote directories can be modified (both can act as both source and target).
Synchronization Mode
There are three modes of synchronization.
With Synchronize files mode, the newer files in source directory are transferred to the opposite directory. Files in source directory not present in target directory can optionally be transferred as well (disable this using the option Existing files only). Files in target directory not present in source directory are optionally deleted (enable option Delete files). In Both mode (see above), file not present in an opposite directory is considered new, hence it is transferred (if allowed), but never deleted. In other words, in Both mode, no file is ever deleted.
Advertisement
With Mirror files mode, the different (both newer and older) files in source directory are transferred to the opposite directory. Otherwise the mode is the same as Synchronize files.
With Synchronize timestamps mode, the timestamps of target files are updated to match timestamps of source files. It will not do any transfers, nor delete anything. Simply, whenever it finds the same file in both directories it updates the timestamp of target file to match the one of source file. In Both mode, it always updates the older timestamp. The mode is available with SFTP protocol only.
Automating Synchronization
To automate synchronization use scripting command synchronize
or .NET assembly method Session.SynchronizeDirectories
.