Rclone, anyone?

Every Thanksgiving break, I take a stab at backing up one of my external USB hard drives to another. It takes forever since the drives are huge and data is traveling over a USB connection. I’ve tried different solutions.

rclone on Zorin Core Linux in action (image excerpt)

Solution #1: FreeFileSync

This is a solution I have relied on and recommended to others. It works great on both Windows and GNU/Linux.

Solution #2: TeraCopy

Another solution I’ve relied on is TeraCopy. It is easy to use and works well. That said, it’s not my go-to solution every time for USB external drive duplication.

And, finally, I recently found out about rclone. I wanted a command line option on GNU/Linux, hoping that it might get things done faster. I don’t know about faster, but ChatGPT recommended rsync first, then when I pushed it, ChatGPT coughed up rclone.

Solution #3: Rclone

This is the solution that’s working as I type this blog entry. It’s been working for over a day to clone one USB drive to another. ChatGPT points out the following:

Feature / FactorrcloneFreeFileSyncTeraCopy
PlatformWindows, Linux, macOSWindows, Linux, macOSWindows only
GUI or CLICLI (scripts/automation), optional browser GUIFull GUIGUI
Speed: Large FilesVery fast; saturates diskVery fastVery fast
Speed: Many Small FilesFastest (parallel transfers)Fast; faster than TeraCopySlowest
Directory Scanning SpeedFast; tunable with --checkersFastest (multithreaded)Slower
Incremental SyncBest (smart sync)Very goodBasic
Two-Way SyncNo (one-way, mirror, copy)Yes (good for folder mirroring)No
Integrity CheckingStrong (modtime, size, optional checksum)GoodMinimal
Resume SupportExcellentGoodVery good
Deletion HandlingFull sync/mirror optionsYesLimited
VersioningYes (if used with backends)YesNo
Cloud SupportExtensive (70+ providers)PartialNone
Scripting / AutomationExcellentWeakWeak
Real-time SyncVia filesystem watchersBuilt-in (RealTimeSync)No
Best Use CaseBackups, automation, large datasets, mixed/complex jobsInteractive folder sync, two-way sync, GUI workflowsSimple one-time file copies on Windows
Learning CurveMediumLowVery low
CostFreeFreeFree

Speed Test

ScenarioWinner
Large filesTie (all saturate USB/SSD speed)
Many small filesrclone, then FreeFileSync
Directory scanFreeFileSync, then rclone
Repeated syncsrclone
Simple drag-and-copyTeraCopy

It went on to suggest:

Which tool should YOU use?

  • If you want fast, repeatable sync of two USB drives, the best choice is:
    rclone (with parallel flags) rclone sync /src/ /dst/ --transfers=16 --checkers=16 --progress
  • If you want a visual “compare folders” interface and occasional sync:
    FreeFileSync
  • If you want simple, reliable copying on Windows with pause/resume:
    TeraCopy

Operating System Compatibility

I spend most of my time on GNU/Linux and Windows 11 these days, and had no idea rclone worked (or existed) on both. The commands are fairly similar:

Linux version

rclone sync /media/mg/USBDriveSource/ /media/mg/USBDriveTarget/ --transfers=16 --checkers=16 --progress

Windows version


rclone sync "SOURCE1" "SOURCE2" --transfers=4 --checkers=4 --progress

rclone copy "SOURCE1" "SOURCE2" --progress --update --transfers=4 --checkers=4


(Replace E: and F: with the actual drive letters.)

I’m looking forward to trying it out on Windows. But for now, the job is still running strong on Zorin Core Linux.

BiSync on Windows

Here is the clean starting-from-scratch bisync command using SOURCE1 and SOURCE2.

Because bisync needs an initial state, the first run must always include –resync.

First-time initialization (required once per pair):

rclone bisync "SOURCE1" "SOURCE2" --resync --progress --transfers=4 --checkers=4

This builds the bisync tracking files and establishes SOURCE1 and SOURCE2 as a synced pair.

All runs after the first initialization

rclone bisync "SOURCE1" "SOURCE2" --progress --transfers=4 --checkers=4

If something breaks and bisync asks to recover

Use –resync again:

rclone bisync "SOURCE1" "SOURCE2" --resync --progress

Reminder

  • Bisync is two-way: changes and deletions flow both directions.
  • If your intent is one-way without deletions, bisync is the wrong tool—use copy.


Discover more from Another Think Coming

Subscribe to get the latest posts sent to your email.

Leave a comment