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.
| Mount-Point im Vault-LXC |
||
|---|---|---|
| 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
DeduplicationVorteilAdvantage:der Deduplizierung:IfWenn Carstenandund Sarahbothdieselbedownload2-GB-ISOtheherunterladen,same 2GB ISO,speichert ResticonlydiestoresBlöcketheimblocksNAS-Repositoryoncenur einmalin–thedasNASspartrepository,erheblichsaving significant space.Platz.Integrity Checks:Integritätsprüfungen:RunFühre einmal im Monatrestic checkonce a month from thevom Vault-LXCtoaus,ensureumthesicherzustellen,NASdassdatadieremainsNAS-Datenuncorrupted.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.