rustic - fast, encrypted, and deduplicated backups powered by Rust
Go to file
dependabot[bot] 7e3b52049d
build(deps): bump quinn-proto from 0.11.6 to 0.11.8 (#1223)
Bumps [quinn-proto](https://github.com/quinn-rs/quinn) from 0.11.6 to
0.11.8.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7c09b02073"><code>7c09b02</code></a>
proto: bump version to 0.11.8 for release (<a
href="https://redirect.github.com/quinn-rs/quinn/issues/1981">#1981</a>)</li>
<li><a
href="59bccd2e7e"><code>59bccd2</code></a>
Version bump <code>quinn</code> to enforce patched
<code>quinn-proto</code></li>
<li><a
href="a8ec510fd1"><code>a8ec510</code></a>
proto: avoid panicking on rustls server config errors</li>
<li><a
href="c26e8cd2f7"><code>c26e8cd</code></a>
Bump versions</li>
<li><a
href="e01609ccd8"><code>e01609c</code></a>
Merge commit from fork</li>
<li><a
href="c292a3c6a6"><code>c292a3c</code></a>
Fix and test validation of IDCID length</li>
<li><a
href="bb02a12a84"><code>bb02a12</code></a>
fix(.github/android): use API level 26</li>
<li><a
href="5e5cc93645"><code>5e5cc93</code></a>
fix(.github/android): pass matrix.target and increase api to v26</li>
<li><a
href="cef42cccef"><code>cef42cc</code></a>
fix(udp): typo in sendmsg error log</li>
<li><a
href="edf16a6f10"><code>edf16a6</code></a>
ci(rust.yml): add workflow testing feature permutations</li>
<li>Additional commits viewable in <a
href="https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.6...quinn-proto-0.11.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quinn-proto&package-manager=cargo&previous-version=0.11.6&new-version=0.11.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/rustic-rs/rustic/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:00:18 +00:00
.cargo refactor: adjust to changes in rustic_core for added rustic_backend (#966) 2024-01-28 15:26:59 +00:00
.github chore(deps): update actions/checkout digest to 692973e (#1172) 2024-08-27 11:47:58 +00:00
config doc: Update config profile readme (#1221) 2024-09-03 12:18:12 +02:00
coverage Refactor to library and cli application part 2023-06-06 08:51:43 +02:00
docs chore: remove docs/screenshots directory as that has been moved to the assets repository 2023-09-12 02:20:22 +02:00
scripts Refactor to library and cli application part 2023-06-06 08:51:43 +02:00
src fix(build): allow to compile without tui feature (#1208) 2024-08-24 19:01:42 +00:00
tests prepare release 0.8.0 (#1202) 2024-08-22 08:37:30 +02:00
util/systemd Systemd timers for backup and forget 2023-07-08 09:05:45 +02:00
xtask fix(deps): update rust crate duct to 0.13.7 (#991) 2024-01-03 21:32:57 +00:00
.gitignore chore: add temporarily generated files from tests to gitignore 2023-09-14 01:10:15 +02:00
build.sh build.sh: Add optional parameters 2022-11-30 13:31:34 +01:00
Cargo.lock build(deps): bump quinn-proto from 0.11.6 to 0.11.8 (#1223) 2024-09-04 08:00:18 +00:00
Cargo.toml set development version 2024-08-23 13:10:46 +02:00
CHANGELOG.md prepare release 0.8.0 (#1202) 2024-08-22 08:37:30 +02:00
cliff.toml release: rustic-rs v0.6.0 (#896) 2023-10-23 13:00:56 +00:00
CONTRIBUTING.md docs: Update Readme layout, move docs to separate repository, add rustic_core Readme.md (#820) 2023-09-11 05:13:18 +02:00
deny.toml style: fmt 2023-09-17 03:27:01 +02:00
Dockerfile chore(deps): Update dependencies (#1196) 2024-08-10 04:13:38 +02:00
dprint.json chore(fmt): upgrade dprint config 2023-12-18 07:00:55 +01:00
ECOSYSTEM.md chore: move rustic_testing into rustic_core 2024-02-04 23:00:11 +01:00
LICENSE-APACHE Refactor to library and cli application part 2023-06-06 08:51:43 +02:00
LICENSE-MIT Refactor to library and cli application part 2023-06-06 08:51:43 +02:00
maskfile.md fix: maskfile 2023-09-14 01:47:17 +02:00
README.md chore(deps): Update dependencies (#1196) 2024-08-10 04:13:38 +02:00

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

cargo binstall rustic-rs

Windows

Scoop
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.76.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.