hi peeps.

Im early on my selfhosting journey and managed to setup some things as a test in docker. the main service im looking to run is ERPNext. after a while I got it up and running so now I want to back this up including all the customization I did in the app.

where to start with this? any intuitive guide?

  • wabasso@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Doesn’t rsync do incremental? I keep hearing about borg but not sure I want to commit to learning a new app

    • fizzle@quokk.au
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      Yes but rsync isn’t a “backup”.

      Spouse i inadvertently deleted a heap of stuff last month. Rsync would happily reflect that change on the remote. Borg will store the change but you can still restore from an earlier point in time.

      • wabasso@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        22 hours ago

        Right makes sense. I’ve been using rdiff-backup for that. I should compare how the two perform. Do you get the impression borg is good at getting the diffs of a lot of different file types?

        • fizzle@quokk.au
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          15 hours ago

          Deduplication based on content-defined chunking is used to reduce the number of bytes stored: each file is split into a number of variable length chunks and only chunks that have never been seen before are added to the repository.

          A chunk is considered duplicate if its id_hash value is identical. A cryptographically strong hash or MAC function is used as id_hash, e.g. (hmac-)sha256.

          To deduplicate, all the chunks in the same repository are considered, no matter whether they come from different machines, from previous backups, from the same backup or even from the same single file.

          Compared to other deduplication approaches, this method does NOT depend on:

          • file/directory names staying the same: So you can move your stuff around without killing the deduplication, even between machines sharing a repo.

          • complete files or time stamps staying the same: If a big file changes a little, only a few new chunks need to be stored - this is great for VMs or raw disks.

          • The absolute position of a data chunk inside a file: Stuff may get shifted and will still be found by the deduplication algorithm.

          This is what their docs say. Not sure what you mean about diffferent file types but this seems fairly agnostic?

          I actually didn’t realise that first point, as in you can move folders and the chunks will still be deduplicated.

          • wabasso@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 hours ago

            That’s impressive, I’ll have to give borg a go. Thanks for pulling that up.

            I didn’t know it worked like that, so I was thinking file types matter. Like diff (often used with git) has magic based on code-like text files but wouldn’t be efficient at incrementally backing up an encrypted file.

            I’m curious how they handle “frame shift” like if a file has a few bytes added in the front, middle, or end. I guess the first time a file appears, Borg indexes the chunks or something.