I have a proxmox+Debian+docker server and I’m looking to setup my backups so that they get backed up (DUH) on my Linux PC whenever it comes online on the local network.

I’m not sure if what’s best is backing up locally and having something else handling the copying, how to have those backup run only if they haven’t run in a while regardless of the availability of the PC, if it’s best to have the PC run the logic or to keep the control over it on the server.

Mostly I don’t want to waste space on my server because it’s limited…

I don’t know the what and I don’t know the how, currently, any input is appreciated.

  • schizo@forum.uncomfortable.business
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    I see syncthing being recommended, and like, it’s fine.

    But keep in mind it’s NOT a backup tool, it’s a syncing tool.

    If something happens to the data on your client, for example, it will happily sync and overwrite your Linux box’s copy with junk, or if you delete something, it’ll vanish in both places.

    It’s not a replacement for recoverable-in-a-disaster backups, and you should make sure you’ve got a copy somewhere that isn’t subject to the client nuking it if something goes wrong.

    • daddy32@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      This is very important distinction to be made. Sync is not a backup.

      However, you can get 90% there with Syncthing when you enable file versioning or at least trash can for the files.

    • dwindling7373@feddit.itOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      2 months ago

      Thanks for the heads up, yea I’m well aware of that, I use it to, well… sync, my phone pictures with my PC.

  • conrad82@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    I use syncthing to copy important files between pc, phone and proxmox server. Syncthing can be set up with version control so it keeps old versions of files.

    Only the proxmox server is properly backed up though. to a proxmox backup server running in a VM on said proxmox server. the encryptred backup files are copied to backblaze using rclone

    Not sure if this is what you are looking for, but it works for me.

    TLDR syncthing for copies between local machines, and proxmox backup server and backblaze for proper backups

  • just_another_person@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    You probably want to go into a bit more detail on exactly what you want to backup. Are you talking the entire system, flat files, databases…?

      • just_another_person@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Cron + rsync is always a bulletproof solution. Simple bash script that runs every X minutes to sync to a network target. Wouldn’t need to be only when the machine starts as you mentioned.

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

            Since you’re interested in this kind of DIY, approach, I’d seriously consider thinking the whole process through and writing a simple script for this that runs from your desktop. That will make it trivial to do an automatic backup whenever you’re active on the network.

            Instead of cron, look into systemd timers and you can fire off your script after, say, one minute of being on your desktop, using a monotonic timer like OnUnitActiveSec=60.

            Thinking through the script in pseudo code, it could look something like:

            rsync -avzh $server_source $desktop_destination || curl -d "Backup failed" ntfy.sh/mytopic

            This would pull the back from your server to your desktop and, if the backup failed, use a service such as ntfy.sh to notify you of the problem.

            I think that would pretty much take care of all of your requirements and if you ever decided to switch systems (like using zfs send/recv instead of rsync), it would be a matter of just altering that one script.