rustic - fast, encrypted, deduplicated backups powered by pure Rust
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 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 ask in the Discussions. Also opening issues is highly welcomed if you want to report something not working or if you would like to ask for a new feature!
Comparison with restic:
Improvements:
- Allows using cold storage (e.g. AWS Glacier) repos which are only read in the
restore
command + supports warm-up - All operations are completely lock-free as rustic supoorts two-phase-pruning (prune option
instant-delete
is available) - Supports configuration in a config file (example config files)
- Huge decrease in memory requirement
- Already faster than restic for most operations (but not yet fully speed optimized)
- Cleaner concept of logging output; possibility to write logs to a log file
rustic repair
command allows to repair some kinds of broken repositoriesbackup
command can use.gitignore
filesrestore
uses existing files; also option--delete
available- Snapshots save much more information, available in
snapshots
command - Integrates the Rhai script language for snapshot filtering
- Allows to save repository options in the repository config file via the command
config
- New command
merge
- New command
repo-info
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
Current limitations:
- Supported platforms are Linux and MacOS and other Unixes, Windows support is experimental
Open points:
- Add tests and benchmarks
- Add missing commands: 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.