For example, iOS has these features:

  • iCloud backup restore or peer-to-peer transfer, very early in the device setup process
  • Two ways for things to be stored in iCloud, each with a corresponding list of per-app (not per-folder) toggle switches in iCloud Settings
    • “Saved to iCloud” normal syncing
      • Requires apps to use the right APIs and to handle conflicting changes
      • Allows same data to be read and modified by multiple devices
    • iCloud backup
      • Available for all apps
      • Separate backup per device
      • Only downloaded when setting up a new device
      • In app sandboxes, only excludes tmp (Flatpak equivalent is somewhere in /run) and Library/Caches (equivalent to cache directory in Flatpak sandbox) by default
      • Allows apps to set isExcludedFromBackup attribute for specific files (useful for things that are easy to recreate via download but are expected by the user to not be automatically deleted)
      • Includes system configuration such as home screen layout
      • Backs up a list of installed apps without backing up their executables and assets
  • Synced list of previously installed apps, not separate per-device
  • hexagonwin@lemmy.sdf.org
    link
    fedilink
    arrow-up
    3
    ·
    1 day ago

    For backup, one can simply rsync their entire home directory.

    NFS for shared directory, maybe syncthing to have locally synced stuff, scp for sharing files?

    • pmk@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      I’ve had this idea a few times over the years, but I always get stuck at figuring out: what is it actually I want to happen? If I remove a local file, should it be removed from the backup too? If I edit a file, should the newer version replace the old in the backup, or be saved separately, or just the delta between the files? I could never decide what I wanted.

      • pemptago@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        18 hours ago

        Not that I have it all figured out, but it sounds like it would help to decouple backup from sync. I have syncthing keep a two-way sync, including deletes, but have syncthing’s trash as a “backup” (items deleted after n-days) on each device in case I accidentally delete something. Then I have a nightly, encrypted backups with versions stored offsite (eg borg) which is only meant to be used if there’s major failure like a flood or fire. HDD failure is covered by RAID10 NAS. Somewhere in there I have or need a data integrity/hash check, but at least it’s a start.

      • hexagonwin@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Same. I still haven’t figured out so my setup is a horrible mess with nfs, rsync and a bunch of symlinks… and no structured backup