Skip to main content

Restic: Multi-User Syncthing Backup Strategy

Überblick

Overview

DiesesThis Dokumentdocument beschreibtcovers diethe Sicherungbackup vonof Multi-User-Syncthing-Datenmulti-user ausSyncthing demdata from the Syncthing-LXC (ID: 130) übervia dasthe Vault-LXC (ID: 150). WirWe nutzenutilize eina einziges,single vereinheitlichtesunified Restic-RepositoryRestic aufrepository demon NAS,the umNAS dieto Deduplizierungmaximize überdeduplication gemeinsameacross Dateiencommon zwischenfiles denshared Benutzernbetween zu maximieren.users.

SpeicherkonfigurationStorage Configuration

FürIndividual jedenZFS Benutzersubvolumes werdenfor einzelneeach ZFS-Subvolumesuser alsare passed to the Vault-LXC as Read-Only-Mount-Points anmount das Vault-LXC weitergegeben.points.

BenutzerUser Host-QuelleHost Source (ZFS) Mount-Point im Vault-LXC Mount Point
UserA tank/subvol-130-disk-2 /source/sync-usera
UserB tank/subvol-130-disk-3 /source/sync-userb
UserC tank/subvol-130-disk-4 /source/sync-userc
# AufExecuted demon Proxmox-Proxmox Host ausgeführt,to ummap die Datenträger zu mappendisks
pct set 150 -mp132 /tank/subvol-130-disk-2,mp=/source/sync-usera,ro=1
pct set 150 -mp133 /tank/subvol-130-disk-3,mp=/source/sync-userb,ro=1
pct set 150 -mp134 /tank/subvol-130-disk-4,mp=/source/sync-userc,ro=1

DasThe vereinheitlichteUnified Backup-Backup Script

DurchUsing dietags Verwendungallows vonus Tagsto könnenstore alleall Benutzerusers in einemone einzigen Repositoryrepository (/syncthing) gespeichertwhile werden,being währendable Snapshotsto beifilter dersnapshots Wiederherstellungby benutzerspezifischuser gefiltertduring werden können.recovery.

/root/scripts/backup-syncthing.sh (Vault-LXC):

#!/bin/bash

# Auth & NetzwerkNetwork (direkteDirect 2.5GbE-Verbindung)5GbE Pipe)
export RESTIC_REPOSITORY="rest:http://vault-user:Pass123@10.1.1.2:8000/syncthing"
export RESTIC_PASSWORD="Sync_Encryption_Key_44"

# BenutzerDefine undusers ihreand Quellverzeichnissetheir definierensource directories
declare -A users=(
  ["usera"]="/source/sync-usera"
  ["userb"]="/source/sync-userb"
  ["userc"]="/source/sync-userc"
)

# 1. IndividuelleIndividual Benutzer-User Backups (ermöglichtEnables granularegranular Wiederherstellung)recovery)
echo "StarteStarting Syncthing-Syncthing Backups..."

# SchleifeLoop überthrough Benutzerusers undand Backupsperform durchführenbackups
for user in "${!users[@]}"; do
  source_dir="${users[$user]}"
  restic backup "$source_dir" --tag "user:$user" --host "syncthing-srv"
done

# 2. GlobalesGlobal PruningPrune (letzteKeep last 7 Tagedays fürfor alleall Benutzer behalten)users)
# LokalRun auflocally demon NAS ausführen,if fallsserver Serveris imin --append-only-Modusonly istmode
restic forget --keep-within 7d --prune

Administration & WiederherstellungRecovery

SoHow listestto dulist Dateienfiles fürfor einena bestimmtenspecific Benutzer auf:user:

UmTo nursee dieonly BackupsSarah's vonbackups Sarahwithout zucluttering sehen,the ohnelist diewith anderenother Benutzer zu vermischen:users:

restic snapshots --tag "user:sarah"

SoHow stellstto durestore diea Datensingle einesuser's einzelnen Benutzers wieder her:data:

FallsIf Werner versehentlichaccidentally einendeletes Ordnera löscht,folder, kannstyou ducan gezieltrestore seinenhis neuestenlatest Snapshotsnapshot wiederherstellen:specifically:

restic restore latest --tag "user:werner" --target /tmp/restore-werner

WartungshinweiseMaintenance Notes

  • VorteilDeduplication der Deduplizierung:Advantage: WennIf Carsten undand Sarah dieselbeboth 2-GB-ISOdownload herunterladen,the speichertsame 2GB ISO, Restic dieonly Blöckestores imthe NAS-Repositoryblocks nur einmalonce in dasthe spartNAS erheblichrepository, Platz.saving significant space.
  • Integritätsprüfungen:Integrity Checks: Führe einmal im MonatRun restic check vomonce a month from the Vault-LXC aus,to umensure sicherzustellen,the dassNAS diedata NAS-Datenremains nicht beschädigt sind.uncorrupted.

Restic Guide: Backing Up Multiple PCs

DiesesThis Videovideo erklärt,explains wiehow manto mitmanage Tagsa undsingle Hostnamenrepository einfor einzigesmultiple Repositorysources fürusing mehreretags Quellenand verwaltethostnames, which genauis so,exactly wiehow duyou deineare einzelnenorganizing Syncthing-Benutzeryour organisierst.individual Syncthing users.