37,111
stars
+17
1,957
forks
236
watchers
3,098
prs
3,054
issues
51
releases
0
discussions
README
Introduction
restic is a backup program that is fast, efficient and secure. It supports the three major operating systems (Linux, macOS, Windows) and a few smaller ones (FreeBSD, OpenBSD).
For detailed usage and installation instructions check out the documentation.
You can ask questions in our Discourse forum.
Quick start
Once you've installed restic, start
off with creating a repository for your backups:
$ restic init --repo /tmp/backup
enter password for new backend:
enter password again:
created restic backend 085b3c76b9 at /tmp/backup
Please note that knowledge of your password is required to access the repository.
Losing your password means that your data is irrecoverably lost.
and add some data:
$ restic --repo /tmp/backup backup ~/work
enter password for repository:
scan [/home/user/work]
scanned 764 directories, 1816 files in 0:00
[0:29] 100.00% 54.732 MiB/s 1.582 GiB / 1.582 GiB 2580 / 2580 items 0 errors ETA 0:00
duration: 0:29, 54.47MiB/s
snapshot 40dc1520 saved
Next you can either use restic restore to restore files or use restic
mount to mount the repository via fuse and browse the files from previous
snapshots.
For more options check out the online documentation.
Backends
Saving a backup on the same machine is nice but not a real backup strategy.
Therefore, restic supports the following backends for storing backups natively:
- Local directory
- sftp server (via SSH)
- HTTP REST server (protocol, rest-server)
- Amazon S3 (or any other S3-compatible storage)
- OpenStack Swift
- BackBlaze B2
- Microsoft Azure Blob Storage
- Google Cloud Storage
- And many other services via the rclone Backend
Design Principles
Restic is a program that does backups right and was designed with the
following principles in mind:
- Easy: Doing backups should be a frictionless process, otherwise
you might be tempted to skip it. Restic should be easy to configure
and use, so that, in the event of a data loss, you can just restore
it. Likewise, restoring data should not be complicated.
- Fast: Backing up your data with restic should only be limited by
your network or hard disk bandwidth so that you can backup your files
every day. Nobody does backups if it takes too much time. Restoring
backups should only transfer data that is needed for the files that
are to be restored, so that this process is also fast.
- Verifiable: Much more important than backup is restore, so restic
enables you to easily verify that all data can be restored.
- Secure: Restic uses cryptography to guarantee confidentiality and
integrity of your data. The location the backup data is stored is
assumed not to be a trusted environment (e.g. a shared space where
others like system administrators are able to access your backups).
Restic is built to secure your data against such attackers.
- Efficient: With the growth of data, additional snapshots should
only take the stoTop issues
#3041Restic 0.10.0 always reports all directories "changed", adds duplicate metadata, when run on ZFS snapshots111 comments · 2020-10-27#299Allow "pulling" backups from remote servers99 comments · 2015-09-09#16Configuration File71 comments · 2014-11-15#187Support asymmetric backups64 comments · 2015-05-14#2092Backup option to remove a leading path prefix58 comments · 2018-11-16#1544Make restic work without permission to delete files on GCS50 comments · 2018-01-11#60Implement web server to view backups46 comments · 2014-11-18#2659restic fails on repo mounted via CIFS/samba on Linux using go 1.14 build41 comments · 2020-03-21
Latest release
restic 0.19.1 v0.19.1 2026-07-05Changelog for restic 0.19.1 (2026-07-05) ======================================= The following sections list the changes in restic 0.19.1 relevant to restic users. The changes are ordered by importance. Summary ------- Fix 5234: Prevent mounting over the repository directory Fix 5667: Skip inaccessible backup source paths Fix 5722: Update mount latest symlink after snapshot reload Fix 21866: Hide stats progress bar in JSON mode Fix 21869: Restore old behavior of snapshots --latest without --group-by Fix 21876: Show timezone location in snapshots output Fix 21879