Backup & Restore

Restic

Restic is a command-line backup program that stores encrypted, deduplicated snapshots in local folders or cloud storage. It suits developers and system administrators who want scriptable, verifiable backups with integrity checks and fine-grained restore options.

✓ Software download·License information available·Updated September 16, 2026
Developer—
License—
File size10.7 MB
LanguageEnglish / system language
Downloads10

Restic: Encrypted, Deduplicated Backups from the Command Line

Restic is a backup program driven from a command line. You initialize a repository — a local folder, an SFTP host, or object storage such as S3, Backblaze B2, or Google Cloud Storage — then run a backup command to capture files as a snapshot. Data is deduplicated, so repeat backups of a large folder only store what actually changed, and everything is encrypted before it leaves the machine. Snapshots are immutable and labeled with host, path, and optional tags, which makes it possible to compare two points in time, restore a single file from months ago, or mount the repository as a browsable filesystem. Retention policies and integrity checks keep the repository healthy over years.

Restic's design assumes storage you do not fully trust, so every chunk is encrypted and authenticated before upload. The same repository format works across backends, so a repository can move from USB drive to cloud storage without rewriting anything. Snapshot commands cover the details that matter: exclude patterns keep caches out, tags group backups by project, and the diff subcommand lists what changed between snapshots. Forgotten snapshots stay recoverable through keep-daily, keep-weekly, or keep-monthly retention rules, while prune reclaims the space once nothing references it. Checking a repository, optionally reading all data back, confirms the stored chunks are still intact. Mechanical comparisons of two directory trees are a different job, and Beyond Compare 5 handles that one.

Benefits of Using Restic

The case for Restic is that it makes reliable backups practical on storage you would not otherwise trust. Because deduplication is content based rather than filename based, moving or renaming a folder does not duplicate data, and a series of daily snapshots costs little more than the first one once the changes are small. Encryption happens on the client, so a cloud bucket can be rented from a provider you have no reason to trust with the contents. Snapshots are immutable and cheap, which means the correct response to an accidental deletion is usually restoring a file from yesterday rather than hunting through a recovery tool. The command-line interface is unfriendly to some newcomers, but it is also what makes automation straightforward: a scheduled script can back up, check integrity, apply retention, and report results in machine-readable form. Verification is built in rather than bolted on, and reading data back from the repository catches storage-level corruption before a restore attempt does.

Restic features

Key capabilities and highlights.

Feature 1

Deduplicated Snapshots

Content-defined chunking splits files into pieces and stores only the chunks that are new, so a second backup of a large folder costs a fraction of the first. Every run creates an immutable snapshot, giving you a dated history without multiplying the storage requirement.

Feature 2

Client-Side Encryption

Data is encrypted and authenticated on the machine before it is uploaded, so a remote repository never holds readable files. The repository password protects the contents, and it can be supplied from a file, an environment variable, or a prompt before any operation runs.

Feature 3

Many Storage Backends

The same repository format works on a local disk, an SFTP server, a REST server, and object storage services including S3-compatible providers, Backblaze B2, Azure, and Google Cloud Storage. Moving a repository between backends is a copy operation rather than a conversion.

Feature 4

Snapshot Inspection and Diffing

Snapshots can be listed, tagged, compared, and searched, so it is possible to see exactly which files changed between Tuesday and Friday or to find every snapshot containing a particular filename. Tags group related backups, which keeps a large repository navigable.

Feature 5

Selective Restore and Mounting

Restoring can rebuild an entire snapshot into a target directory or extract a single file, and a mount command exposes the repository as a filesystem so you can browse old versions with ordinary tools. That flexibility matters when only one document needs recovering.

Feature 6

Retention and Space Reclamation

Forgetting commands apply keep-daily, keep-weekly, keep-monthly, or keep-yearly policies to decide which snapshots remain, while a dry run previews exactly what would be removed. Pruning then deletes data that no snapshot references any more, so a long-running repository on fixed storage does not grow indefinitely and cheap storage stays cheap.

Feature 7

Integrity Checking and Repair

A check command verifies that metadata and pack files are intact, and it can read all stored data back for a thorough test of the storage medium. Repair commands help recover a repository that has suffered partial damage or an interrupted write.

Feature 8

Scripting and Automation

Commands return meaningful exit codes and can emit JSON output, which makes Restic straightforward to drive from scheduled jobs, monitoring scripts, and configuration management tools. Backups, integrity checks, and retention sweeps can run unattended, and the results can be collected by a dashboard or an alerting rule that watches for failures.

Old versions

Browse historical releases and previous builds.

0.19.0June 9, 2026
0.18.1September 21, 2025
0.18.0March 27, 2025
0.17.3November 8, 2024
0.17.2October 27, 2024

Frequently asked questions

Common questions about Restic.

What is Restic used for?

It creates encrypted, deduplicated backups of files and directories from the command line. Each backup produces a snapshot that can be listed, compared, and restored selectively, and repositories can live on local disks, remote servers, or cloud object storage.

Does Restic encrypt backups?

Yes. Files are encrypted and authenticated on the client before upload, so the storage location never holds readable data. A repository password is required for every operation, and it can be read from a file or an environment variable for scripted runs.

How does Restic deduplication work?

Files are split into variable-length chunks based on their contents, and chunks already present in the repository are not stored again. Renaming or moving a folder therefore does not duplicate data, and daily snapshots of a mostly unchanged dataset stay small.

Can Restic back up to cloud storage?

Yes. Object storage services including S3-compatible providers, Backblaze B2, Azure Blob Storage, and Google Cloud Storage can serve as repositories, along with SFTP and REST servers. The repository format is the same everywhere, so a backup can be copied between backends.

How do I delete old Restic snapshots?

The forget command removes snapshots according to retention rules such as keep-daily, keep-weekly, and keep-monthly, and a dry run shows what would be removed before you commit. A following prune operation then deletes data that no snapshot references any more.

Can Restic restore a single file?

Yes. Restore can rebuild a whole snapshot into a target directory or extract one file or path from it, and the mount command can expose the repository as a browsable filesystem so individual versions can be opened directly.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Software download

Download Restic

Restic is a command-line backup program that stores encrypted, deduplicated snapshots in local folders or cloud storage. It suits developers and system administrators who want scriptable, verifiable backups with integrity checks and fine-grained restore options.