Synchronize two locations
Synchronization transfers a source folder’s contents to a destination folder in one direction. It does not merge changes from both sides. At least one location must be S3; two local folders alone are unsupported. S3 locations must use / as their folder separator, and the roots must not overlap.
Choose the destination as you would for a folder copy: selecting images and pasting into backup synchronizes images to backup/images. Check the full path shown in the options dialog.
Requirements and consequences
S3Client must inventory both trees, read source files and write to the destination. Mirror also requires deletion permissions. The key requirements and read-access conditions for encrypted or archived objects still apply. Tag or ACL permissions may be needed for the chosen options.
Mirror can delete destination-only items. With Authoritative source, a newer destination file is replaced. Completed writes and deletions are not rolled back after an error or Abort. S3 deletions follow versioning and do not necessarily purge older versions.
When synchronizing S3 locations with SSE-KMS or DSSE-KMS sources, Reuse source settings requires opening Destination encryption > Change encryption… and explicitly choosing No additional context or Provide JSON context under KMS context:, as appropriate. Then click Use settings. Alternatively, choose another explicit encryption setting. Otherwise, affected copies fail with EncryptionDecisionRequired, even after a successful preview.
Preparation can fail if the lists of files and folders exceed the memory available for the operation. Local source files are copied to the system temporary folder before upload; downloads use a temporary file at the destination. An object reported as gzip is decompressed when downloaded locally, even if optional compression is disabled. Allow enough disk space; see transfer performance.
Choose modes and conflict rules
| Setting | Behavior |
|---|---|
Mode > Update | Adds missing source items, applies the conflict rule and keeps destination-only items. This is the default. |
Mode > Mirror | Also schedules destination-only items for deletion after writes. |
Conflicts > Newest source | Replaces a shared file only when both dates exist and the source is strictly newer. Equal or missing dates keep the destination. This is the default. |
Conflicts > Authoritative source | Retransfers all shared source files, even when identical or older. |
Replacement decisions do not compare sizes or content hashes. S3 and local dates can have different precision, and an S3 write receives a new date. Mirror with Newest source therefore does not guarantee identical source and destination content.
Prepare and preview
- Open the source folder’s parent in one pane and the folder that will receive it in the other.
- Select one source folder and choose
Edit > Copy. - Activate the destination and choose
Edit > Paste with options.... - Select
SynchronizeinTransfer options - S3Client. It is unavailable for multiple items, a single file, or two local locations. - Check the
Destinationpath, then setModeandConflicts. - For an S3 destination, choose the storage class and ACL. Check
Destination encryption; to change it, openChange encryption…, chooseNew encryption:and the applicable settings, then clickUse settings. This prepares the choice without writing objects. Optional gzip compression is disabled for this action. - For SSE-C sources, set
Source decryption > SSE-C read key…. For existing SSE-C destination objects, separately setDestination decryption > Set destination SSE-C read key…. Each key applies to its entire side. - Click
Preview. S3Client builds both inventories and validates the comparison before changing anything. - In
Synchronization preview, checkSource,Destination, the counters and list. UsePrevious pageandNext page; each page displays up to 250 actions. - Click
Startto execute, orCancelto dismiss the preview. - Monitor the operation and its report in the operations list, then check the destination.
The Synchronize button prepares and validates the operation, then starts it without displaying the preview table. The modes, replacement rules and deletion rules are the same.
Read the preview
Path inside destination shows the relative path affected. Action displays Create, Replace, Keep, Delete, Create empty folder or Remove empty folder. Source modified (UTC) and Destination modified (UTC) show the dates used in UTC, independently of the local-date display preference.
The summary distinguishes creations, replacements, kept files, deletions, empty folders, Exclusions and Disabled deletions. Items marked Keep are not retransferred, and their properties are not reapplied.
Exclusions and deletion safeguards
Browser filters do not limit synchronization. Local traversal includes hidden and system files but ignores symbolic links and junctions regardless of ordinary copy settings. Inaccessible or excluded source entries count as omissions. Preparation fails if a local destination inventory omits entries.
If the source inventory contains exclusions, Mirror disables all its deletions. The preview displays Deletion disabled and states: The source inventory has exclusions, so mirror deletions are disabled for this synchronization. This protects destination items whose apparent absence from the source inventory is unreliable.
Deletions start only after writes. A failed write, interruption or changed local root prevents the deletion phase from starting. If you interrupt a deletion phase already in progress, completed deletions remain effective.
Concurrent changes and limitations
For S3-to-S3 copies, the destination account’s Copy only if the source ETag matches and Copy parts only if the source ETag matches capabilities also condition the server’s source content read. If the applicable capability is unchecked, a mutable source can change after verification and the copied content can differ from the prepared content; parts can come from different revisions. Preliminary checks and destination conditions remain active. See S3 copy conditions.
Files can change after the preview. S3Client rechecks some items before acting and can ask the service to reject a write or deletion if the object has changed. For an S3 destination, these checks depend on Write only if the object does not exist, Replace only if the destination ETag matches and the appropriate conditional-deletion capabilities. Configure them in File > Accounts... > Edit... > Capabilities according to service support and signature requirements. The corresponding permissions are still required.
The dialog warns when concurrent destination changes may go undetected. A local file can also change between verification and writing or deletion. Avoid changing either tree during the operation.
A file/folder conflict, a collision after Unicode normalization, a case-insensitive name collision for a local destination, an S3 name that cannot be represented locally, or overlapping roots causes preparation to fail. SynchronizationConflict indicates a change detected after preparation; the affected action is not a success. The report distinguishes failures, conflicts and unknown results. Inspect both sides before synchronizing again.