Synchronization and direction modes
Sync offers two modes of operation: one-time ("on demand
")
synchronization and continuous synchronization, and three direction modes: uni-directional,
bidirectional, and multi-directional.
One-time versus continuous synchronization
One-time synchronization
In this mode, async performs synchronization of the endpoints, and exits.
If available, async uses an existing snapshot to determine changes, unless
instructed to drop the snapshot and scan the file system again (see the -x
option
in Async command reference).
This mode need to be used for one_time
operations, or for periodic, scheduled
synchronizations where file systems do not support event-based change notification. For the latter,
async can be scheduled as a cron job to run periodically.
One-time synchronization is supported between all operating systems.
Continuous synchronization
In this mode, Sync synchronizes the endpoints and continues running. As file system updates occur (for example, files or directories are added, deleted or modified), Sync detects these changes and synchronizes with the peer endpoint.
Continuous mode is supported only when the file source is Windows, Linux, or macOS. See the following table for the operating system requirements for the Sync server and client for the different Sync directions.
Continuous Sync direction | Supported Sync client OS | Supported Sync server OS |
---|---|---|
PUSH |
Linux, Windows, macOS | All |
PULL |
All | Linux, Windows, macOS |
BIDI |
Linux, Windows, macOS | Linux, Windows, macOS |
Sync direction modes
Uni-directional
Similar to rsync, the uni-directional mode supports replication of files
and directories, and any updates to these (including deletions, renames, moves, and copies) from a
source to a target. The direction of replication can be specified as a "push
" or
"pull
" operation, relative to the initiating host. Once a snapshot is taken after
the first replication, all file system updates are recognized against this snapshot, and no
comparison of source to target over the WAN is performed (as in rsync). Sync
supports most of the same uni-directional synchronization options as rsync, such as include and
exclude filters, overwrite only if newer, symbolic link handling, and preservation of file system
ownership and timestamps.
Bidirectional
Bidirectional mode supports the replication of all file and directory updates between the peers. For any case in which the most recent version of an update cannot be reliably determined, or when a file changes on both endpoints concurrently, sync flags the update as a conflict and leaves the peer file systems in their present state (and in conflict). Files in conflict can be reviewed by using the asyncadmin command line tool (see asyncadmin command line options). In this version, it is up to the operator to resolve conflicts manually.
Multi-directional
Multi-directional synchronization requires one Sync session (one async process execution) for
each remote peer. Any number of async processes can be run concurrently, and any number of peers can
be synchronized concurrently; however, a downstream peer cannot be configured to synchronize
"back
" in a loop to an upstream peer.