Learn Rsync - History, Background & Why You Need It
Episode 1 of 23

Learn Rsync - History, Background & Why You Need It

Tracing rsync's journey from a project written by Andrew Tridgell (creator of Samba) and Paul Mackerras in 1996 to becoming the de facto standard for backup & mirroring, and understanding the delta-transfer algorithm that makes it bandwidth-efficient and why version 3.4.x now matters from a security perspective.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Introduction

After setting up our environment in episode 0 — making sure rsync ≥3.4.4 is installed and the two-directory lab is ready — in this episode we take a breather from hands-on work and understand why rsync exists. A tool's history may feel unimportant, yet that is exactly where the reasons for its current design lie.

Why understand rsync's history? Because rsync wasn't born in a corporate boardroom, but from the real needs of engineers frustrated with wasteful file synchronization. Understanding its origins will explain its design decisions — why rsync only sends the parts that changed, why it can resume safely, and why it became the foundation of modern backup systems.

Born from Andrew Tridgell & Paul Mackerras

Rsync was written by Andrew Tridgell — the same name behind Samba, the file-sharing server for Windows networks — together with Paul Mackerras. The first release came in 1996, and the name rsync is short for "remote sync".

FactDetail
AuthorsAndrew Tridgell (Samba) & Paul Mackerras
First release1996
Name origin"remote sync"
LanguageC
Maintained bySamba project (lists.samba.org)

Tridgell brought the same brilliance from Samba: deeply understanding protocols and building efficient implementations. Rsync was born out of frustration with the tools of that era — rcp and scp — which copied entire files every time, no matter how small the change.

Replacing rcp/scp

Before rsync, the standard way to copy files between machines was rcp and scp. The problem: both always sent the whole file. Imagine a 10 GB database file that changes by 1 MB: scp still sends the full 10 GB. In the era of expensive dial-up and leased-line connections, that was a painful waste.

Rsync changed the game: it compares source and destination, then only sends the parts that differ. That is what made it instantly popular and, over three decades, the de facto standard for backup, mirroring, and server migration in the Linux/Unix world.

Note

scp still exists today, but for repeated synchronization rsync always wins: scp has no delta-transfer, can't skip files that are already identical, and doesn't support filters. In episode 22 we compare the two in full.

The Delta-Transfer Algorithm

The heart of rsync is the delta-transfer algorithm. The process roughly works like this:

  1. The receiving side of rsync splits the destination file into fixed-size blocks (typically 700 bytes to 64 KB depending on file size).
  2. For each block, it computes a computationally cheap weak checksum (rolling checksum), then a strong checksum (hash) for confirmation.
  3. The sender uses this checksum list to find blocks that already exist at the receiver — only the blocks that don't match are sent.

The result: for partially changed files, rsync transfers far less data than the file's total size. The larger the file and the smaller the change, the greater the savings. We'll dissect the algorithm's architecture in detail in episode 2.

Why Rsync: Core Strengths

Four reasons rsync has been the top choice for nearly three decades:

StrengthPractical Meaning
Minimal bandwidthDelta-transfer only sends the parts that changed
Safe resumeAn interrupted transfer can continue without starting over (--partial, episode 7)
Flag flexibilityMore than 100 options: filter, throttle, checksum, hardlink, ACL, and more
Local & remote modesOne binary for copying on the same machine or across SSH/daemon

This combination is rarely found in other tools: rsync is as efficient as modern algorithms, yet as friendly as a classic Unix tool — easy to use from scripts, cron, and CI pipelines.

Security: 3.4.x and CVEs

Rsync 3.4.x (2025-2026) is an important chapter in its history: not because of new features, but because of massive security hardening. Rsync 3.4.0 (January 2025) closed 33 vulnerabilities, including 2 RCEs (CVE-2024-12084 and CVE-2024-12085), a heap buffer overflow, and a fix for the behavior of --safe-links. Versions 3.4.3 and 3.4.4 followed with additional patches (e.g. CVE-2026-29518 and CVE-2026-4361).

This changed practical recommendations: always use rsync ≥3.4.4. The old 3.2.x versions — still widely installed on older LTS distros — are now considered risky. We cover the full CVE details and their mitigations in episode 13.

A Brief Timeline

YearMilestone
1996First rsync release by Tridgell & Mackerras
2000sBecomes the de facto Unix backup & mirroring standard
2018Rsync 3.1.3 — the most widely installed version on LTS distros
2025-01Rsync 3.4.0 — major security release (33 CVEs, 2 RCEs)
2025-20263.4.1, 3.4.2, 3.4.3, 3.4.4 — ongoing patches
2026-06-08Release of 3.4.4 — the version used in this series

Closing

In this episode you've traced rsync's journey from a 1996 project by Andrew Tridgell & Paul Mackerras to the most trusted synchronization tool in the Unix world.

Key takeaways:

  • Rsync was written by Tridgell & Mackerras, first released in 1996; the name comes from "remote sync".
  • It replaced rcp/scp because the delta-transfer algorithm only sends the parts that changed.
  • Core strengths: bandwidth efficiency, safe resume, flag flexibility, local & remote modes.
  • Rsync 3.4.x is a security milestone: 33 CVEs closed including 2 RCEs; always use ≥3.4.4.

In episode 2 we'll dissect rsync's core concepts and main architecture — local vs remote modes (SSH and the rsyncd daemon on port 873), its main components, and how rolling checksums and hashes work behind the scenes. See you in episode 2!