I use 2 different computers in 2 different locations both running Universal Blue.

I was wondering if there is any way to create a backup system where i could backup Computer1 over the internet to Computer2 and continue work like nothing happened with all the user data and installed applications being there. The goal is to only need to transfer the user data/applications and no system data (that should be the same for both because of Ublue, right?), to keep the backup size small.

To be clear, i need help figuring out the backup part, not the transfering over the internet part.

If I were to backup the directories on Computer1, which store user data, with for example borgbackup, could I restore them on Computer2 and have a working system? Or would there be conflicts because of more low level stuff missing like applications and configs? Which directories would I need and which could be excluded?

Is there a better option? Any advice is appreciated!

I also came across btrfs snapshot capabilities and thought they could possibly used for this. But as far as I understand it, that would mean transferring the whole system and not only the data and applications. Am i missing something?

  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    Regardless of what technical solution you decide to rely on, e.g borgbackup, Synchting or rsync, the biggest question is “what” do you actually need. You indeed do not need system files, you probably also applications (which can fetch back anyway) so what left is actually data. You might want to then save your ~ directory but that might still conflict with some things, e.g ~/.bashrc or ~/.local so instead you might want to start with individual applications, e.g Blender, and see where it implicitly or you explicitly save the .blend files and all their dependency.

    How I would do it :

    • over the course of a day, write down each application I’m using, probably a dozen at most (excluding CLI tools)
    • identify for each where data is stored and possibly simplify that, e.g all my Blender files in a single directory with subdirectory
    • using whatever solution I have chosen, synchronize those directories
    • test on the other device while being on the same network (should be much faster and with a change of fixing problems)

    then I would iterate over time. If I were to often have to move and can’t really iterate, I would make the entire ~ directory available even though it’s overkill, and only pick from it on a per needed basis. I would also insure to exclude some directories that could be large, maybe ~/Downloads

    PS: I’d also explore Nix for the system and applications side of things but honestly only AFTER taking care of what’s actually unique to you, i.e data.

    • unskilled5117@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Thank you for the detailed response! Yes, the what data and how to not create conflicts has been troubling me the most.

      I think I might first narrow it down with test VMs first, to skip the transfer part, before I actually use it “in production“.

      • utopiah@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Honestly a very imperfect alternatives but that’s been sufficient for me for years is… NextCloud of documents.

        There are few dozen documents I need regardless of the device, e.g national ID, billing template, but the vast VAST majority of my files I can get on my desktop… which is why I replied to you in depth rather than actually doing it. I even wrote some software for a “broader” view on resuming across devices including offline, namely https://git.benetou.fr/utopiah/offline-octopus as a network of NodeJS HTTP servers but … same, that’s more for the intellectual curiosity than a pragmatic need. So yes explore with VMs if you prefer but I’d argue remain pragmatic, i.e what you genuinely do need versus an “idealized” system that you don’t actually use yet makes your workflow and setup more complex and less secure.