Skip to main content

Restic - Multi-User Syncthing Backup Strategie

Overview

Überblick

ThisDieses documentDokument coversbeschreibt thedie backupSicherung ofvon multi-userMulti-User-Syncthing-Daten Syncthingaus data from thedem Syncthing-LXC (ID: 130) viaüber thedas Vault-LXC (ID: 150). WeWir utilizenutzen aein singleeinziges, unifiedvereinheitlichtes ResticRestic-Repository repositoryauf ondem theNAS, NASum todie maximizeDeduplizierung deduplicationüber acrossgemeinsame commonDateien fileszwischen sharedden betweenBenutzern users.zu maximieren.

Storage ConfigurationSpeicherkonfiguration

IndividualFür ZFSjeden subvolumesBenutzer forwerden eacheinzelne userZFS-Subvolumes are passed to the Vault-LXC asals Read-Only-Mount-Points mountan points.das Vault-LXC weitergegeben.

UserBenutzer Host SourceHost-Quelle (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
# ExecutedAuf ondem Proxmox Proxmox-Host toausgeführt, mapum disksdie Datenträger zu mappen
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

TheDas Unifiedvereinheitlichte Backup Backup-Script

UsingDurch tagsdie allowsVerwendung usvon toTags storekönnen allalle usersBenutzer in oneeinem repositoryeinzigen Repository (/syncthing) whilegespeichert beingwerden, ablewährend toSnapshots filterbei snapshotsder byWiederherstellung userbenutzerspezifisch duringgefiltert recovery.werden können.

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

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

# DefineBenutzer usersund andihre theirQuellverzeichnisse source directoriesdefinieren
declare -A users=(
  ["usera"]="/source/sync-usera"
  ["userb"]="/source/sync-userb"
  ["userc"]="/source/sync-userc"
)

# 1. IndividualIndividuelle User Benutzer-Backups (Enablesermöglicht granulargranulare recovery)Wiederherstellung)
echo "StartingStarte Syncthing Syncthing-Backups..."

# LoopSchleife throughüber usersBenutzer andund performBackups backupsdurchführen
for user in "${!users[@]}"; do
  source_dir="${users[$user]}"
  restic backup "$source_dir" --tag "user:$user" --host "syncthing-srv"
done

# 2. GlobalGlobales PrunePruning (Keep lastletzte 7 daysTage forfür allalle users)Benutzer behalten)
# RunLokal locallyauf ondem NAS ifausführen, serverfalls isServer inim --append-onlyonly-Modus modeist
restic forget --keep-within 7d --prune

Administration & RecoveryWiederherstellung

HowSo tolistest listdu filesDateien forfür aeinen specificbestimmten user:Benutzer auf:

ToUm seenur onlydie Sarah'sBackups backupsvon withoutSarah clutteringzu thesehen, listohne withdie otheranderen users:Benutzer zu vermischen:

restic snapshots --tag "user:sarah"

HowSo tostellst restoredu adie singleDaten user'seines data:einzelnen Benutzers wieder her:

IfFalls Werner accidentallyversehentlich deleteseinen aOrdner folder,löscht, youkannst candu restoregezielt hisseinen latestneuesten snapshotSnapshot specifically:wiederherstellen:

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

Maintenance NotesWartungshinweise

  • DeduplicationVorteil Advantage:der Deduplizierung: IfWenn Carsten andund Sarah bothdieselbe download2-GB-ISO theherunterladen, same 2GB ISO,speichert Restic onlydie storesBlöcke theim blocksNAS-Repository oncenur einmal in thedas NASspart repository,erheblich saving significant space.Platz.
  • Integrity Checks:Integritätsprüfungen: RunFühre einmal im Monat restic check once a month from thevom Vault-LXC toaus, ensureum thesicherzustellen, NASdass datadie remainsNAS-Daten uncorrupted.nicht beschädigt sind.

Restic Guide: Backing Up Multiple PCs

ThisDieses videoVideo explainserklärt, howwie toman managemit aTags singleund repositoryHostnamen forein multipleeinziges sourcesRepository usingfür tagsmehrere andQuellen hostnames,verwaltet which isgenau exactlyso, howwie youdu aredeine organizingeinzelnen yourSyncthing-Benutzer individual Syncthing users.organisierst.