Differences

This shows you the differences between the selected revisions of the page.

task_synchronize_full 2007-04-11 task_synchronize_full 2022-11-12 (current)
Line 1: Line 1:
====== Directory Synchronization ====== ====== Directory Synchronization ======
 +//This article contains detailed description of synchronizing files. You may want to see [[guide_synchronize|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//. [[ui_synchronize|Synchronize dialog]] will appear, where you can select synchronization mode and configure options. WinSCP can synchronize content of local directory with remote one or vice versa or even mutually. Find the function in //Commands > Synchronize//. [[ui_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 [[ui_synchronize_checklist|synchronization checklist]], where you can select those synchronization actions you want to actually apply. 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 [[ui_synchronize_checklist|synchronization checklist]], where you can select those synchronization actions you want to actually apply.
-Files and directories [[ui_transfer#other_options|excluded from transfer]] are excluded from synchronization too.+You can select files and directories for synchronization the same way you [[ui_transfer_custom#other|select them for file transfer]].
Before using the function make sure that WinSCP knows correct [[timestamps]] of remote files, to avoid losing data. 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 [[commandline|command-line parameter]] ''/synchronize'' to quickly open [[ui_synchronize|Synchronize dialog]].+If you use WinSCP to synchronize your files only, you can use ''[[commandline#operations|/synchronize]]'' to quickly open [[ui_synchronize|Synchronize dialog]].
-===== Synchronization Direction =====+===== [[direction]] Synchronization Direction =====
There are three possible directions (targets) of synchronization. There are three possible directions (targets) of synchronization.
Line 19: Line 21:
In //Both// mode, both local and remote directories can be modified (both can act as both source and target). In //Both// mode, both local and remote directories can be modified (both can act as both source and target).
-===== Synchronization Mode =====+===== [[mode]] Synchronization Mode =====
There are three modes of synchronization. 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.+With //Synchronize files// mode, files that are newer in a source directory than in a target directory are transferred to the target directory. Files in the source directory not present in the target directory are by default transferred as well (disable this using the option //Existing files only//). Files in the target directory not present in the source directory can optionally be deleted (enable option //Delete files//). In //Both// mode (see above), files not present in an opposite directory are considered new, hence they are transferred (unless //Existing files only// is enabled), but never deleted. In other words, in //Both// mode, no file is ever deleted.
-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 //Mirror files// mode, different (both newer and older) files in the source directory are transferred to the target 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 [[protocols#sftp|SFTP protocol]] only.+With //Synchronize timestamps// mode, 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 a timestamp of a target file to match the one of a source file. In //Both// mode, it always updates the older timestamp. The mode is available with [[sftp|SFTP protocol]] only.
===== Automating Synchronization ===== ===== Automating Synchronization =====
-To automate synchronization use scripting command ''[[script_commands#synchronize|synchronize]]''.+To automate synchronization use scripting command ''[[scriptcommand_synchronize|synchronize]]'' or .NET assembly method ''[[library_session_synchronizedirectories|Session.SynchronizeDirectories]]''.

Last modified: by martin