restic
Fast, secure, efficient backup program
Restic, a backup program that puts restore first
Restic is a backup program built around speed, security, and verifiability, and its README argues that restore matters more than backup.
The quick start
The quick start walks through initializing a repository with restic init and a password, then a backup, then either restore or mount, which mounts the repository via fuse so you can browse files from earlier snapshots. The backup output in the README shows directories scanned, items backed up, and a saved snapshot at the end. The README warns that losing the password makes the data irrecoverably lost.
Backends beyond one machine
The README says saving a backup on the same machine is not a real backup strategy. Native backends include an HTTP REST server, Amazon S3 or the Minio server, and many other services through the rclone backend, which frames the tool around proper off machine storage. That argument is the closest the README comes to telling you how to use restic well.
Design principles
Five principles are listed. Easy, so backups do not get skipped; fast, limited by network or disk bandwidth; verifiable, because restore is more important than backup; secure, with cryptography for confidentiality and integrity; and efficient, with incremental snapshots and deduplication before data is written. Restoring transfers only the data needed for the files to be restored, which keeps that side fast too.
License and builds
Restic is licensed under the BSD 2 Clause license. Since version 0.6.1 the released binaries are reproducible, so a byte identical build can be produced from source, with instructions kept in the builder repository, and the README notes that backend integration tests for Google Cloud Storage and Azure Blob are sponsored by AppsCode.
Community notes