4.7 KiB
tags
| tags | ||||
|---|---|---|---|---|
|
Purpose
This document explains the practical differences between the rclone copy, sync, check, and bisync commands and links to the separate workflow for configuring and recovering a bidirectional synchronization pair. The examples use PowerShell and assume that one side of the synchronization is a Google Drive remote.
Rclone is a command-line file-management program that supports cloud storage providers, object-storage platforms, local filesystems, and standard transfer protocols.
!!! info "Version Context"
This document was reviewed against rclone v1.75.0. Older releases may not support every bisync flag documented here, and future versions may change some recovery behavior.
!!! danger "Rclone Can Delete or Overwrite Data"
The sync and bisync commands can delete, replace, rename, or propagate the deletion of files. Always confirm the source and destination paths, maintain a separate backup or snapshot, and preview unfamiliar operations with --dry-run before allowing them to modify data.
A dry run is a preview and is not a replacement for a backup.
Prepare the Command
Set the executable path in the PowerShell session before using the command examples. Replace the example path with the location of rclone.exe on the target machine.
$Rclone = "C:\Path\To\rclone.exe"
Command Behavior
The correct command depends on the intended relationship between the source and destination.
| Command | Primary Behavior | Deletes Destination-Only Files | Direction |
|---|---|---|---|
copy |
Adds or updates source files at the destination while retaining unrelated destination files | No | One-way |
sync |
Makes the destination match the source | Yes | One-way |
check |
Compares files without modifying either side | No | Read-only |
bisync |
Detects and propagates changes made on either side by comparing the current state against prior listings | Yes | Two-way |
Use copy for Additive Transfers
Use copy when you need to add or update files without deleting files that already exist only at the destination.
& $Rclone copy "Source" "Destination" --update --dry-run --verbose
The --update flag skips a source file when the corresponding destination file has a newer modification time. It does not create version history, and it does not prevent an older destination file from being replaced by a newer source file.
After reviewing the dry-run output, repeat the operation without --dry-run:
& $Rclone copy "Source" "Destination" --update --verbose
Use sync Only for Intentional Mirroring
Use sync when the destination must become a one-way mirror of the source.
!!! danger "sync Deletes Destination-Only Files"
The sync command removes files from the destination when they do not exist in the source. This is true even when --update is present.
The `--update` flag only prevents a newer destination file from being replaced by an older source file. It does not convert `sync` into an additive operation and does not protect destination-only files from deletion.
Preview the operation first:
& $Rclone sync "Source" "Destination" --dry-run --verbose
Only remove --dry-run after confirming that every proposed copy, replacement, and deletion is intentional:
& $Rclone sync "Source" "Destination" --verbose
Use check for Read-Only Comparison
The check command compares files on both sides without copying, replacing, or deleting them.
& $Rclone check "Source" "Destination" --combined "rclone-comparison.txt" --log-level INFO --log-file "rclone-check.log"
The combined report uses the following symbols:
| Symbol | Meaning |
|---|---|
= |
The file exists on both sides and matches |
+ |
The file exists only in the source |
- |
The file exists only in the destination |
* |
The same path exists on both sides, but the files differ |
! |
The file could not be read or compared |
The check command compares files but does not report missing empty directories.
Configure Two-Way Synchronization
Use Configure and Recover Rclone Bisync for initialization, normal runs, state handling, and recovery.
Related Documentation
- Related Files and Collaboration Documentation — Find the connected deployments, procedures, and references for this subject.