Went to do a test restore of one of my databases and I noticed the dump files over the last few months were all 0kb. Glad I caught it this way and not because I needed to restore. Put it on your calendar, schedule a test restore of your critical stuff a couple times a year. I know y’all are busy but it is worth the time and effort. A backup you can’t actually restore isn’t a backup at all.

  • JRaccoon
    link
    fedilink
    English
    283 months ago

    Also, if applicable, have a different person perform the restore every time and have them do it just by following the documentation. This way multiple persons have actual experience with the process if the shit ever hits the fan and this also makes sure the documentation is accurate and up-to-date.

    • sylver_dragon
      link
      fedilink
      English
      53 months ago

      It depends on the type of backup:

      For a filesystem backup, restore one or more files to a secondary location. E.g. pick a few files out of the backup and try to restore them to a temporary folder. Then hash the original and restored files to verify integrity.
      For a full machine backup (e.g. VM backup), restore a copy of the machine to a test location. Spin up the test machine to verify that it can boot.
      For a database backup, restore a copy of the database to a test location (e.g. change the database name as part of the restore process), compare a few tables against the real database to verify integrity.

      Pretty much, it’s going to be some version of “Restore X to a test location and verify integrity”. You want to both prove that the backup can be restored and that the restored copy is actually intact.

      • @ComradeMiao@lemmy.dbzer0.com
        link
        fedilink
        English
        03 months ago

        Thanks for explaining this! Very helpful and easy to understand. Do you have preferred programs for the two actions? I currently just rsync my servers.

        • capital
          link
          fedilink
          23 months ago

          I use restic to back up files to Wasabi.

          It’s all scripted but the steps are:

          1. Back up
          2. Prune based on rules
          3. Perform a repository consistency check and do further checks (takes longer) on 1% of the repo
          4. Choose 1 random file from the current backup set and get the hash of the current file
          5. Restore that file to a temporary location and hash it.
          6. Compare hashes
          7. Send push alert to me with success/failure and a summary
  • slazer2au
    link
    fedilink
    English
    73 months ago

    We do a restore test once a quarter, but we are SOC2 so we must do it. Doesn’t have to restore an entire VM, just a random used file.

  • @Railcar8095@lemm.ee
    link
    fedilink
    63 months ago

    A few months after setting up the backups for my server to two remote locations and patting myself in the back for it, I woke up in the middle of the night realizing I had no idea how to restore.

    • @WagnasT@lemmy.worldOP
      link
      fedilink
      53 months ago

      I worked at a datacenter that wanted to change backup vendors, as we dug into the details we found out that the agent based backups needed an agent running on the machine to restore to and they didn’t have a linux agent. Despite this obvious problem mgmt chose this vendor. It didn’t take long before sysadmins were rebuilding linux boxes from scratch in the wee hours. I left shortly after.

  • morriscox
    link
    fedilink
    33 months ago

    Rules of Tech Support

    Rule T9C - If you can’t restore from it, you don’t have a backup.

    Rule T9D - If you haven’t tested your backup recently, you don’t have a backup.