Restic, an excellent tool for backups with versioning and cloud support

For those who are looking for a solution to be able to make backups, in this article we will talk about an excellent tool called "restic" and which recently received a new update.

Restic is a backup system which provides a set of tools to store backups in a versioned repository that can be hosted on external servers and cloud storages.

About Restic

Restic data is stored in encrypted form, plus the user can define flexible rules to include and exclude files and directories when creating a backup.

It has support for storing backups on a local file system, on an external server with road access SFTP/SSH or HTTP REST, in the clouds Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage, and Google Cloud Storage, as well as any storage for which there are rclone backends.

A special rest server can also be used to organize storage, giving higher performance compared to other backends and can work in an add-only mode that won't let you delete or change backups in case the origin server is compromised and access the encryption.

Another of the positive points of restic is that has support for defining flexible rules to exclude files and directories when creating backups (for example, to exclude logs, temporary files, and easily reproducible data from the backup). The format of ignore rules is familiar and resembles rsync or gitignore.

Restic is easy to install, use, and retrieve information, plus it's worth mentioning that it's cross-platform (Linux, macOS, Windows, FreeBSD, and OpenBSD).

To work with backups, it is enough to copy an executable file that can be used without additional settings. A repeatable assembly is provided for the executable file itself, allowing you to independently verify that the binary assembly is formed from the supplied source texts.

Snapshots are supported, that reflect the state of a particular directory with all files and subdirectories at a given time. Every time a new backup is created, a snapshot associated with it is created, allowing you to restore the current state. It is possible to copy snapshots between different repositories.

To save traffic, only changed data is copied during the backup process. To ensure efficient storage, repository data is not duplicated and additional snapshots cover only changed data.

The system does not handle entire files, but blocks float-size selected using the Rabin signature. The information is stored in association with the content, not with the names of the files (the names and entities associated with the data are defined at the block metadata level). Based on the SHA-256 hash of the content, deduplication is performed and unnecessary copying of data is excluded.

To visually assess the contents of the repository and simplify recovery, a snapshot with a backup can be mounted in the form of a virtual partition (mounted with FUSE). It also provides commands to analyze changes and selectively extract files.

Information on external servers is stored in encrypted form (SHA-256 is used for checksums, AES-256-CTR for encryption, and Poly1305-AES-based authentication codes to ensure integrity.) The system was originally designed to ensure that backups are stored in untrusted environments and that a backup falling into the wrong hands does not compromise the system. Encryption can be provided by both access keys and passwords.

It is possible to verify the backup using checksums and authentication codes to confirm that the integrity of the files is not violated and that the necessary files can be restored and do not include hidden modifications.

How to install Restic on Linux?

For those who are interested in being able to install this tool, as mentioned above, its installation process is relatively simple, since the utility is within the majority of the repositories of the main Linux distributions.

For example, to install Restic on Ubuntu, Debian or derivatives, just open a terminal and type:

sudo apt-get install restic

In the case of those who are users of Arch Linux, Manjaro or any other derivative:

sudo pacman -S restic

For Fedora users:

sudo dnf install restic

Or in the case of Red Hat or CentOS and derivatives or based on these:

sudo dnf install epel-release
sudo dnf install restic

While for openSUSE:

sudo zypper install restic

For those who are Solus users

 eopkg install restic

Finally for those who are interested in knowing more about it and also in consulting its mode of use, you can consult the details In the following link.

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published.



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.