[HN Gopher] Restic: Backups done right
       ___________________________________________________________________
        
       Restic: Backups done right
        
       Author : fanf2
       Score  : 108 points
       Date   : 2024-10-13 17:42 UTC (4 hours ago)
        
 (HTM) web link (restic.net)
 (TXT) w3m dump (restic.net)
        
       | andarp wrote:
       | I have used restic for a year now. I've thought about it twice.
       | 9/10 would backup again.
        
         | stavros wrote:
         | I've used restic for five years (and also Borg is equally
         | good), similarly very much recommended:
         | 
         | https://www.stavros.io/posts/holy-grail-backups/
        
       | tguvot wrote:
       | https://github.com/garethgeorge/backrest going nicely with restic
       | 
       | i do miss functionality of configurable full/incremental backups
       | like in duplicity
        
         | kam wrote:
         | What do you miss about it? In restic, every snapshot has the
         | speed and size of an incremental backup, but the functionality
         | of a full backup.
        
           | tguvot wrote:
           | sometimes you just must have a new full backup every N
           | days/weeks. it a more "smooth" way to deal with potential
           | corruption in repo that might be undetected (without dealing
           | with all suggested workarounds) and in some cases
           | compliance/certification requires it
        
         | Jnr wrote:
         | Backrest is great. It makes it very easy to configure restic
         | backups and do the restores.
        
       | yapyap wrote:
       | Awesome, I'm using BackInTime right now for 'snapshot'-like
       | backups but I'm always interested in new solutions
        
       | alibert wrote:
       | Been using Restic for a while but I was wondering how does it
       | compare to:
       | 
       | - Rustic https://rustic.cli.rs
       | 
       | - Kopia https://kopia.io
        
         | asteroidburger wrote:
         | Rustic is a rewrite of Restic from Go to Rust. See
         | https://rustic.cli.rs/docs/comparison-restic.html
        
         | aliasxneo wrote:
         | I perused the Rustic website and they have a direct comparison
         | of Restic here: https://rustic.cli.rs/docs/comparison-
         | restic.htm. At face value I thought it was just, "because it's
         | Rust," but it does appear to have a few additional features.
         | 
         | I haven't used either, though.
        
           | dicytea wrote:
           | You dropped the l: https://rustic.cli.rs/docs/comparison-
           | restic.html
        
           | tredre3 wrote:
           | Rustic was started by a former restic contributor. My
           | impression at the time was that he was frustrated with poor
           | collaboration from restic maintainers (slow/no response to
           | his PRs). So it's a bit more than just "rewrite-it-in-rust".
           | 
           | Many of his rejected/ignored restic PRs ended up being
           | features in rustic: cold storage support, config file
           | support, resumable operations, webdav server, etc.
        
         | BoingBoomTschak wrote:
         | I vaguely remember Kopia having partly mitigated Restic's
         | issues with memory usage.
        
         | riedel wrote:
         | https://www.patpro.net/blog/index.php/2024/03/07/3590-borg-k...
        
         | Scandiravian wrote:
         | I switched to rustic a couple of months ago due to it being
         | able to filter based on .gitignore files. Have done a few test
         | restores and everything has worked well so far
        
         | snorremd wrote:
         | A killer feature rustic has over restic is built-in support for
         | .gitignore files. So all your dependencies and build output is
         | automatically ignored in your backups.
        
           | neilv wrote:
           | Nice. Using `.gitignore` would simplify my Restic,
           | Borg/Borgmatic, and Rsync-based backup scripts/configs.
           | (Right now, I end up duplicating the same information in a
           | few places, not very well.)
        
       | Jur wrote:
       | Interesting, I'll give this a try. I'm hoping one day to retire
       | my subscription/cloud-based back-ups with something docker based
       | that still back-ups to multiple instances (local and remote).
        
       | gmuslera wrote:
       | I'm more fan of BorgBackup, but you have to couple it with I.e.
       | rclone for it to make backups to cloud object storage. But that
       | opinion is based on my particular use case, probably would be
       | using restic if direct to cloud was a better choice.
        
         | pdw wrote:
         | Borg 2.0 supposedly will support cloud backups out of the box.
        
       | kayson wrote:
       | Other popular choices include borg, duplicity, and duplicati.
       | 
       | After evaluating these and others mentioned in the comments, I
       | ended up using borg with borgmatic to define homelab backups with
       | yaml files that are version controlled in gitea and deployed
       | using ansible.
       | 
       | I also use duplicity to back up my sister in laws storefront
       | website to backblaze. I've been quite happy with both.
       | 
       | https://borgbackup.readthedocs.io/en/stable/
       | 
       | http://duplicity.gitlab.io/
       | 
       | https://docs.duplicati.com/en/latest/
        
         | riedel wrote:
         | I'd throw in kopia[0], fast, many features and easy to use
         | across platforms.
         | 
         | [0] https://kopia.io/
        
           | mongol wrote:
           | I have seen Kopia mentioned from time to time but never as
           | often as borg. Does it have a good reputation?
        
         | leetnewb wrote:
         | Keeping with the name scheme, there is also duplicacy -
         | https://github.com/gilbertchen/duplicacy
        
         | pixard wrote:
         | I have tested all of these also, and settled on borg +
         | borgmatic. It has been absolutely rock solid. Borgmatic just
         | rounds everything together in such a nice way. The
         | documentation is great.
         | 
         | I'm pushing it all to a Hetzner storage box, as well as a local
         | NAS. Super affordable!
        
         | mikae1 wrote:
         | BorgBackup is also my choice. More features, but that's not
         | necessarily a good (or bad) thing if Restic does everything you
         | need.
        
         | sph wrote:
         | I chose restic because borg was slow, buggy and an unwieldy
         | pile of Python, not the best language for deployment on
         | heterogeneous Linux systems.
         | 
         | Restic on the other hand is slow, but never crashed on me and
         | is distributed as a single binary.
         | 
         | The only thing I dislike about restic is that it does not have
         | a simple config file where you define your backup settings.
         | Instead I had to write my own backup.sh that I deploy
         | everywhere on my personal and production machines. Paired with
         | rsync.net for storage and healthchecks.io for notifications.
        
           | ray_v wrote:
           | Honest question, but do you not consider environment
           | variables to be a form of simple config?
           | 
           | https://restic.readthedocs.io/en/stable/040_backup.html#envi.
           | ..
        
           | abhinavk wrote:
           | Use resticprofile or autorestic for configuration file or to
           | run scheduled jobs.
        
         | notherhack wrote:
         | The Borg site says Windows support is "experimental, no
         | binaries yet". Is that still true?
        
       | dmw_ng wrote:
       | I'm a restic user, but have resisted the urge to attempt a
       | bikeshed for a long time, mostly due to perf. It's index format
       | seems to be slow and terrible and the chunking algorithm it uses
       | (rabin fingerprints) is very slow compared to more recent
       | alternatives (like FastCDC). Drives me nuts to watch it chugging
       | along backing up or listing snapshots at nowhere close to the IO
       | rate of the system while still making the fans run. Despite that
       | it still seems to be the best free software option around
        
       | SomeoneOnTheWeb wrote:
       | I've tried many options and ended up distching Restic for Borg
       | and then Borg for Kopia, which was IMO the best option.
        
       | evanjrowley wrote:
       | There is also autorestic - A simplified YAML-based configuration
       | for dealing with Restic backups:
       | https://github.com/cupcakearmy/autorestic
        
         | justusthane wrote:
         | I hadn't seen autorestic before so I can't compare them, but
         | there's resticprofile
        
       | slig wrote:
       | What's the best way to backup a managed Postgres from DO to
       | another cloud?
        
         | fmajid wrote:
         | Not sure what DO managed PostgreSQL supports, but PostgreSQL
         | streaming replication would seem like the natural way to go.
        
           | slig wrote:
           | They don't support that, forgot to clarify that in my
           | comment. Thanks!
        
       | chrchr wrote:
       | My Thinkpad has a tiny SDHC slot. I put a 1 terabyte SDHC card in
       | it (~$80) and have a cron job take hourly Restic snapshots of my
       | primary storage. It's been reliable and has bailed me out more
       | than once.
        
       | thekashifmalik wrote:
       | Big fan of restic! The only feature I found missing was the
       | ability to browse historical snapshots like regular files.
       | 
       | I wrote and now use the rsync-based, browsable, incremental
       | backup CLI: https://rincr.com/
        
         | demomode wrote:
         | Isn't that the purpose of `restic mount`?
        
         | dmd wrote:
         | What do you mean by that? "restic mount" has been part of
         | restic since the very start.
        
           | thekashifmalik wrote:
           | That command works well and accomplishes some of what rincr
           | what built to solve. For example, when I mention browse-
           | ability, I mean on the backup host without any dependencies
           | so I can use standard file tools and browsers.
           | 
           | I also needed both "pull" (backup remote files) and "push"
           | (backup local files) backup features and if I'm not mistaken
           | restic still only supports the "push" model.
           | 
           | EDIT: Added more details
        
             | homebrewer wrote:
             | If you're doing pull to prevent remotes from destroying old
             | backups (in case of malware takeover, etc), this can be
             | solved by running rest-server with --append-only
             | 
             | https://github.com/restic/rest-server
             | 
             | It 403's any attempt to overwrite or delete old data.
        
             | luoc wrote:
             | Browsing without dependencies is a bit tricky due to a)
             | deduplication, b) encryption and c) compression of restic's
             | backups.
        
         | heinrichf wrote:
         | Restic has a mount subcommand that exposes all backups through
         | a FUSE filesystem, no?
        
       | dang wrote:
       | Related:
       | 
       |  _Restic 0.17.0 Released_ -
       | https://news.ycombinator.com/item?id=41082937 - July 2024 (5
       | comments)
       | 
       |  _Restic - Simple Backups_ -
       | https://news.ycombinator.com/item?id=38915291 - Jan 2024 (14
       | comments)
       | 
       |  _Restic 0.15.0 Released_ -
       | https://news.ycombinator.com/item?id=34364925 - Jan 2023 (1
       | comment)
       | 
       |  _Restic 0.14.0 Released (with highly anticipated feature -
       | compression)_ - https://news.ycombinator.com/item?id=32599032 -
       | Aug 2022 (5 comments)
       | 
       |  _Restic 0.13.0_ - https://news.ycombinator.com/item?id=30822631
       | - March 2022 (66 comments)
       | 
       |  _Restic - Backups Done Right_ -
       | https://news.ycombinator.com/item?id=29209455 - Nov 2021 (286
       | comments)
       | 
       |  _Saving a restic backup the hard way_ -
       | https://news.ycombinator.com/item?id=28438430 - Sept 2021 (2
       | comments)
       | 
       |  _Restic Cryptography (2017)_ -
       | https://news.ycombinator.com/item?id=27471549 - June 2021 (5
       | comments)
       | 
       |  _Restic - Backups Done Right_ -
       | https://news.ycombinator.com/item?id=21410833 - Oct 2019 (177
       | comments)
       | 
       |  _Show HN: K8up - Kubernetes Backup Operator Based on Restic_ -
       | https://news.ycombinator.com/item?id=20769362 - Aug 2019 (18
       | comments)
       | 
       |  _Append-only backups with restic and rclone_ -
       | https://news.ycombinator.com/item?id=19347188 - March 2019 (42
       | comments)
       | 
       |  _Restic Cryptography_ -
       | https://news.ycombinator.com/item?id=15131310 - Aug 2017 (36
       | comments)
       | 
       |  _Restic - Backups done right_ -
       | https://news.ycombinator.com/item?id=10135430 - Aug 2015 (1
       | comment)
        
       | aborsy wrote:
       | Restic is great! It has worked flawlessly for me for several
       | years.
       | 
       | Anyone knows if there is plan to add Reed Solomon erasure coding,
       | just in case there will be errors in repository? Something like
       | Par2.
       | 
       | Asymmetric encryption could also be useful in some situations.
       | Perhaps they could just use Age for the asymmetric encryption
       | backend (unfortunately Age offers only 128 bits of security in
       | its symmetric encryption, so it's not recommended for long term
       | storage, because of the save-now decrypt-later attack). But I
       | expect a stable quantum resistant plug-in appearing next year or
       | so.
        
         | seqizz wrote:
         | Afaik not yet, there was some discussion here:
         | https://github.com/restic/restic/issues/804
        
       | npace12 wrote:
       | first time I heard of this was yesterday, in a thecatch2024 CTF.
       | Today, on HN... https://www.thecatch.cz/
        
       | cvalka wrote:
       | Rustic is better
        
       | notherhack wrote:
       | Restic 0.17.1 was released last month. The home page says "During
       | initial development (versions prior to 1.0.0), maintainers and
       | developers will do their utmost to keep backwards compatibility
       | and stability, although there might be breaking changes without
       | increasing the major version."
       | 
       | So worth a peek but still under construction.
        
       | NelsonMinar wrote:
       | Try BackRest if you want a nice frontend to Restic. You can
       | configure Restic from the command line but it's pretty awkward.
       | BackRest has a nice simple web GUI and makes basic automation
       | very easy. https://github.com/garethgeorge/backrest
       | 
       | I'm surprised no one is selling Restic hosting as a straight up
       | service. BackBlaze works well with Restic but the configuration
       | is a little manual and clumsy. A packaged solution would be a
       | nice thing.
       | 
       | Restic is very very good. My only nervousness is the backup
       | format is so opaque, you need a working copy of Restic to restore
       | from it. The format is documented though and of course the code
       | is open source, so I think it's probably fine in practice.
        
       ___________________________________________________________________
       (page generated 2024-10-13 22:00 UTC)