/rustic

rustic - a restic-compatible backup tool written in pure Rust

Primary LanguageRust

rustic - a restic-compatible backup tool written in 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.

Have a question?

Look at the FAQ or open an issue!

Comparison with restics:

Improvements:

  • Completely lock-free
  • Huge decrease in memory requirement
  • Already much faster than restic for most operations (but not yet fully speed optimized)
  • Can use .gitignore files
  • Snapshots save much more information
  • New command repo-info
  • cat tree command accepts a snapshot and path to cat the tree blob

Differences:

  • backup uses glob patterns to include/exclude instead of exclude files

Current limitations:

  • Backup source and restore destinations only on local file system
  • Backup backends: So far only local disc and REST backends supported (others using rclone as REST backend)
  • Runs so far only on Linux and MacOS, Windows support is WIP

Open points:

  • Add tests and benchmarks
  • Add more backends, backup-sources and restore-destinations
  • 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.