A restic client written in rust

Storage backends… this one is tricky and I am not sure myself what is the best way to compare it.

Let’s say S3 - both restic and rustic support it out of the box. “via opendal” for rustic suggests that some extra software is needed which is not true. It is just technical implementation detail. restic I bet is using some 3rd party library here as well.

rustic supports much more backends without need to install and configure additional software. But both support rclone for whatever this handy utility supports.

From end user perspective this is what I am interested about - what I can use for repo without anything extra. And with rustic for example I can use onedrive when with restic I would have to install and configure rclone

1 Like

Thanks for your feedback! I updated the backend section to be more precise about what is built-in and what needs extra external tools.

2 Likes

rustic 0.8.0 has been released.

Changes which might be interesting are:

  • rustic now has an interactive mode for showing/managing snapshots and starting a restore, run rustic snapshots -i to test it out.
  • the find command has been added. Note that this command features the possibility to search for an exact path and therefore allows to show the history (i.e. all changes) of some given file.
  • The enhancements of restic 0.17.0 all work with this rustic version.

For a more detailed release information, see rustic v0.8.0 · rustic-rs/rustic · Discussion #1203 · GitHub

5 Likes

rustic 0.8.1 has been released.

This version fixes some bugs and adds few new features about shell completion and in interactive mode.

For more details, see rustic v0.8.1 · rustic-rs/rustic · Discussion #1232 · GitHub

1 Like

Hi!

I just wanted to advertise the new TUI (text user interface) to browse and restore from a repository which is in fact part of rustic 0.8.0 and can be started by running rustic snapshots -i.

Some impressions:

Snapshots view:

From this snapshots view, you can also do modifications on selected snapshots like forgetting them or modifying tags.

Tree view:

From this tree view, you can start a restore to restore sub-trees or files.

Note that this TUI is in an early development, feedback is very welcome!

Also note that it completely depends on the rustic ecosystem - no restic is needed or used (also rustic has to be blamed for all bugs :wink: ).

12 Likes

Just wanted to add, that the new version 0.8.1 added two features:

customizable Filter
You can modify the used filter to filter snapshots by various criteria. Note that you can use “v” to switch between all snapshots, filtered snapshots and marked snapshot (if there are marked ones):

file view
small (<1MiB) text files can now be viewed directly from the tree view using “v”:

2 Likes

I’ve merged the TUI topic (nice looking, by the way!) into the rustic thread, since it’s a part/feature of rustic, would like to keep these updates/changes together in the same thread.

rustic 0.9.0 has been released.

Changes which might be interesting include:

  • Added the option stdin-command to backup which runs a command and uses its output as stdin. Note this can also be specified in the config profiles.
  • Added the option --only-identical for diff to allow for bitrot check based on
  • use target (rustic) profiles for the copy command
  • reduced memory usage of restore

Note: There are breaking changes that need adaptions of the configuration profile that you can read about here: Breaking Changes - rustic user documentation

For a more detailed release information, see

2 Likes

rustic 0.9.1 has been released.

Changes which might be interesting include:

  • New snapshot filters have been added to select snapshots by exact pathlist, exact taglist, by date/time or by size. These filters can be used for all commands respecting filters including the interactive mode.
  • check now supports to only check selected snapshots (e.g. rustic check latest). Also --read-data-subset and warming up of packs before checking them (for hot/cold repositories) has been added.
  • The new command rustic docs has been added to directly access the online docu.

For a more detailed release information, see rustic v0.9.1 · rustic-rs/rustic · Discussion #1290 · GitHub

rustic 0.9.2 and 0.9.3 (please use this, it fixed a bug in 0.9.2) has been released. As you might have noticed, we have automated the release process which allows us to release quite fast.

The new releases features:

  • Hooks can now be defined in the config profile files which allow to call commands before/after rustic commands or specific backup runs. Error handling of and via hooks is also supported.
  • A docker image is now automatically created for releases.

See also rustic v0.9.2 / v0.9.3 · rustic-rs/rustic · Discussion #1310 · GitHub

rustic 0.9.4 has been released.

Besides some bugfixes, this release added the following features:

See also rustic v0.9.4 · rustic-rs/rustic · Discussion #1338 · GitHub

rustic 0.9.5 has been released.

Changes which might be interesting are:

  • a bug in webdav has been fixed; webdav now works with all storage backends.
  • mount has been added for the linux version of rustic.
  • dump now supports to write .tgz and .zip and direct writes to a file (self-detecting the output format).
  • error message have been improved. This should allow users to better find the root cause in case of errors.
  • new option filter-jq allows to use jq style filtering. Note: this works for all commands using the filter including forget and the interactive mode (snapshots -i).

See also rustic 0.9.5 - Discussion.

1 Like

The comparison between restic and rustic has also been updated. Please report (or propose a change) if you think that things are not depicted correctly or missing! Thanks a lot!

2 Likes