Jump to content

User:Crazycomputers/sandbox/Restic

From Wikipedia, the free encyclopedia
restic
Original author(s)Alexander Neumann
Initial release21 August 2015; 9 years ago (2015-08-21)
Stable release
0.9.5 / 23 April 2019; 5 years ago (2019-04-23)
Repositorygithub.com/restic/restic
Written inGo
Operating systemLinux, macOS, Windows, and more[1]
TypeBackup
LicenseBSD[2]
Websitewww.restic.net

Restic is a deduplicating backup software with a strong focus on ease of use without compromising security and integrity. It runs on various Unix-like operating systems as well as Windows.

Many storage backends are supported, including local filesystem, SFTP server (via SSH), HTTP REST server (using rest-server[3]), S3 (from Amazon AWS or using Minio), OpenStack Swift, Backblaze B2, Microsoft Azure Blob Storage and Google Cloud Storage.

History

[edit]

Restic development began in April 2014[4] and the first release was version 0.1.0 in August 2015[5].

Restic has been packaged for various operating systems and distributions, including macOS, Arch Linux, Nix & NixOS, Debian and Docker.[1]

Design

[edit]

The main design goals of restic are simplicity and speed to encourage backing up and easy restoring, verifiable backups, strong security, a small footprint, and being free for anyone to use.[6] The restic design document[7] elaborates on the technical details of its design.

Being built in Go, restic supports multiple platforms and operating systems, single binary distribution and also cross-compiling.[8]

Restic uses a repository format where any file is written only once and never modified, which allows for multiple clients to access and write to the repository in parallel.[9] Multiple access keys per repository is supported.[10]

Restic has built-in deduplication, allowing it to upload only the relevant parts of changed files, thereby reducing the amount of data that needs to be transferred when backing up incrementally.[11] Compression is currently not implemented, but is being worked on.[12]

A prominent feature of restic is the ability to mount a repository using FUSE, in order to present the user with a browsable directory tree containing the various snapshots and their files and directories, allowing for quick and ad-hoc restores.[13] This feature is not available on Windows and OpenBSD.[13]

By using a local cache, restic can limit the amount of data that has to be downloaded from the repository, speeding up certain operations (at the cost of some disk space).[14]

Reception

[edit]

In an interview in the Go Time podcast, restic author Alexander Neumann was invited to discuss the choice of Go for building restic, as well as challenges along the way.[15]

Cryptographer Filippo Valsorda[16] did an informal review of restic's cryptography in a post on his blog.[17]

Restic author Alexander Neumann was invited to give a lecture at FrOSCon 2015 in Bonn, Germany.[18]

Another talk was given by Alexander Neumann at CCC Cologne e.V. in Cologne, Germany in 2016.[19]

See also

[edit]

References

[edit]
  1. ^ a b "Installation instructions". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  2. ^ "License information". restic.github.io. 29 December 2017. Retrieved 29 December 2017.
  3. ^ "restic REST server". github.com. 29 December 2017. Retrieved 29 December 2017.
  4. ^ "Commit c54facf66be1c4e137121f36b300543f6673ea7c in restic source code repository". github.com. 29 December 2017. Retrieved 29 December 2017.
  5. ^ "Tag 0.1.0 in restic release history". github.com. 29 December 2017. Retrieved 29 December 2017.
  6. ^ "Restic design goals". restic.github.io. 29 December 2017. Retrieved 29 December 2017.
  7. ^ "Restic design document". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  8. ^ "Installation from source". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  9. ^ "Repository format". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  10. ^ "Manage repository keys". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  11. ^ "Backups and deduplication". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  12. ^ "Implement compression (issue #21)". github.com. 29 December 2017. Retrieved 29 December 2017.
  13. ^ a b "Restore using mount". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  14. ^ "Caching". restic.readthedocs.io. 29 December 2017. Retrieved 29 December 2017.
  15. ^ "Restic and Backups (Done Right)". gotime.fm. 1 June 2017. Retrieved 29 December 2017.
  16. ^ "Hi! I'm Filippo Valsorda". blog.filippo.io. Retrieved 29 December 2017.
  17. ^ "Restic Cryptography". blog.filippo.io. 29 August 2017. Retrieved 29 December 2017.
  18. ^ "A Solution to the Backup Inconvenience". media.ccc.de. 23 August 2015. Retrieved 29 December 2017.
  19. ^ "restic - Backups mal richtig". media.ccc.de. 29 June 2016. Retrieved 29 December 2017.
[edit]

Category:2015 software Category:Backup software for Linux Category:Free backup software Category:Go (programming language) software Category:Software using the BSD license