Back to rankings

rustic-rs/rustic

Rustrustic.cli.rs

rustic - fast, encrypted, and deduplicated backups powered by Rust

backupdeduplicationencryptionrustrestichacktoberfest
Star Growth
Stars
3.1k
Forks
136
Weekly Growth
Issues
154
1k2k3k
Mar 2022Aug 2023Feb 2025Jul 2026
Artifactscrates.iocargo add rustic
README

fast, encrypted, and deduplicated backups

About

rustic is a backup tool that provides fast, encrypted, deduplicated backups.

It reads and writes the restic repo format described in the design document and can be used as a restic replacement in most cases.

It is implemented in Rust, a performant, memory-efficient, and reliable cross-platform systems programming language.

Hence rustic supports all major operating systems (Linux, MacOs, *BSD, Windows).

Should I use rustic or restic?

The restic project is older and more mature than rustic, slow with new developments and conservative with changes. rustic was created by a heavy restic contributor who was at some point annoyed about that slow speed. So, rustic is of course very much inspired by restic but is a complete new implementation aiming to be the better restic with respect to features and development speed.

Whether you should use rustic or restic depends on your use case. The best advise is to test both and see which one better fits to your requirements. We have collected some differences between rustic and restic here.

The good news is: You don't have to decide whether to use restic or rustic unless you need some features which are only present in one project. Both projects implement the identical repository format and you can access every repository with restic as well as with rustic. For example, you can use restic to verify your backups made with rustic and vice versa.

rustic Libraries

The rustic project is split into multiple crates:

Features

  • Backup data is deduplicated and encrypted.
  • Backup storage can be local or cloud storages, including cold storages.
  • Backup source can be local or cloud storage.
  • Allows multiple clients to concurrently access a backup repository using lock-free operations.
  • Backups by default are append-only on the repository.
  • The operations are robustly designed and can be safely aborted and efficiently resumed.
  • Snapshot organization is possible by hostname, backup paths, label and tags. Also a rich set of metadata is saved with each snapshot.
  • Retention policies and cleaning of old backups can be highly customized.
  • Follow-up backups only process changed files, but still create a complete backup snapshot.
  • In-place restore only modifies files which are changed.
  • Uses config files for easy configuration of all every-day commands, see example config files.

Contact

You can ask questions in the Discussions or have a look at the FAQ.

Contact Where?
Issue Tracker GitHub Issues
Discord Discord
Discussions GitHub Discussions

Getting started

Please check our documentation for more information on how to get started.

Installation

From binaries

cargo-binstall

cargo binstall rustic-rs

Windows

Scoop
scoop install rustic

macOS

Homebrew
brew install rustic

Or you can check out the releases.

Nightly binaries are available here.

Docker

docker pull ghcr.io/rustic-rs/rustic

From source

Beware: This installs the latest development version, which might be unstable.

cargo install --git https://github.com/rustic-rs/rustic.git rustic-rs

crates.io

cargo install --locked rustic-rs

Contributing

Tried rustic and not satisfied? Don't just walk away! You can help:

Do you know how to code or got an idea for an improvement? Don't keep it to yourself!

Please make sure, that you read the contribution guide.

Minimum Rust version policy

This crate's minimum supported rustc version is 1.88.0.

The current policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if crate 1.0 requires Rust 1.20.0, then crate 1.0.z for all values of z will also require Rust 1.20.0 or newer. However, crate 1.y for y > 0 may require a newer minimum version of Rust.

In general, this crate will be conservative with respect to the minimum supported version of Rust.

License

Licensed under either of:

at your option.

Related repositories
restic/restic

Fast, secure, efficient backup program

GoGo ModulesBSD 2-Clause "Simplified" Licensegorestic
restic.net
35.1k1.8k
MichaelCade/90DaysOfDevOps

This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.

ShellOtherdevopskubernetes
90daysofdevops.com
29.6k6.7k
duplicati/duplicati

Store securely encrypted backups in the cloud!

C#Otherduplicatibackup
14.8k1.1k
kopia/kopia

Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.

GoGo ModulesApache License 2.0deduplicationbackup
kopia.io
13.7k687
borgbackup/borg

Deduplicating archiver with compression and authenticated encryption.

PythonPyPIOtherpythoncompression
borgbackup.org
13.5k864
velero-io/velero

Backup and migrate Kubernetes applications and their persistent volumes

GoGo ModulesApache License 2.0kubernetesdisaster-recovery
velero-io.github.io/velero/
10.2k1.6k
nextcloud/all-in-one

📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.

PHPPackagistGNU Affero General Public License v3.0nextcloudbackup
nextcloud.com/blog/how-to-install-the-nextcloud-all-in-one-on-linux/
10.1k1.1k
alexanderepstein/Bash-Snippets

A collection of small bash scripts for heavy terminal users

ShellMIT Licensebashcurrency-converter
9.9k844
vmware-tanzu/velero

Backup and migrate Kubernetes applications and their persistent volumes

GoGo ModulesApache License 2.0kubernetesdisaster-recovery
velero.io
9k1.4k
BlueMatthew/WechatExporter

Wechat Chat History Exporter 微信聊天记录导出备份程序

C++GNU General Public License v2.0wechatexport
8.3k932
elasticsearch-dump/elasticsearch-dump

Import and export tools for elasticsearch & opensearch

JavaScriptnpmApache License 2.0javascriptelasticsearch
7.9k867
databasus/databasus

PostgreSQL backup tool with Point-In-Time-Recovery and restore verification

GoGo ModulesApache License 2.0backupbackups
databasus.com
7.7k460