Giter Club home page Giter Club logo

rustic's Introduction

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), with Windows support still being experimental.

Stability

rustic currently is in beta state and misses regression tests. It is not recommended to use it for production backups, yet.

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.
  • 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 rustic-rs

Windows

scoop install rustic

Or you can check out the releases.

Nightly binaries are available here.

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 rustic-rs

Differences to restic?

We have collected some improvements of rustic over restic here.

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.70.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.

rustic's People

Contributors

aawsome avatar dependabot[bot] avatar simonsan avatar renovate[bot] avatar dr-emann avatar bket avatar istudyatuni avatar jirutka avatar nils-werner avatar aderemi-adesada avatar dimejo avatar pheki avatar dimitarvp avatar droopcat avatar hirschenberger avatar vatson112 avatar talal avatar sts10 avatar thndrbrrr avatar troelsarvin avatar tshepang avatar fa993 avatar github-actions[bot] avatar jmarkin avatar zxcat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.