rustic icon indicating copy to clipboard operation
rustic copied to clipboard

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

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

crate Docs Apache2/MIT licensed Crates.io Downloads

Rustic is a backup tool that provides fast, encrypted, deduplicated backups. It reads and writes the restic repo format desribed in the design document and can therefore be used as a complete replacement for restic.

Note that rustic currently is in an beta release and misses tests. It is not yet considered to be ready for use in a production environment.

Are binaries available?

Sure. Check out the releases. Binaries for the latest development version are available here.

Have a question?

Look at the FAQ or open an issue!

Comparison with restic:

Improvements:

  • Allows using cold storage (e.g. AWS Glacier) repos which are only read in the restore command + supports warm-up
  • Completely lock-free pruning; option instant-delete is available
  • Huge decrease in memory requirement
  • Pack size can be customized
  • Already faster than restic for most operations (but not yet fully speed optimized)
  • backup command can use .gitignore files
  • restore uses existing files; also option --delete available
  • Snapshots save much more information, available in snapshots command
  • Allows to save some options in the config file via the command config
  • New command repo-info
  • snapshots latest command to show only the latest snapshot(s)
  • check command checks and uses cache; option --trust-cache is available
  • Option prune --fast-repack for faster repacking
  • Syntax <SNAPSHOT>[:PATH] is available for many commands
  • Compression is already supported in released versions ;-)

Current limitations:

  • Backup source and restore destinations only on local file system
  • Runs so far only on Linux and MacOS, Windows support is WIP

Open points:

  • [ ] Add tests and benchmarks
  • [ ] Add missing commands: copy, dump, find, mount
  • [ ] Improve error handling
  • [ ] Parallelize the code even more and optimize for speed where useful

License

Licensed under either of:

at your option.

Contribution

Contributions in form of issues or PRs are very welcome.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.