Projekt

Allgemein

Profil

Aktionen

Aufgabe #1840

offen

Datensicherungen (Backups) vom Dienst Website (Anwendung Plone) einrichten

Von GoeranHeinemann vor 4 Monaten hinzugefügt. Vor 4 Monaten aktualisiert.

Status:
In Bearbeitung
Priorität:
Hoch
Zugewiesen an:
Kategorie:
srs1337
Beginn:
20.12.2023
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Die Website liegt aktuell auf einem Host mit veralteten FreeNAS srs1337.

Aktuell werden nur periodisch Snapshots gemacht.

Die relevanten Datasets (für unsere Website) sollen einfach auf den Proxmox Backup Server geschoben werden.

Die relevanten Datasets für ZFS der Quelle (srs1337) sind
zroot/data/website/plone/var/filestorage
zroot/data/website/plone/var/blobstorage
.

Aktionen #1

Von GoeranHeinemann vor 4 Monaten aktualisiert

Folgendes Script synchronisiert alle fehlenden Snapshots von dem Website-Host. Es gibt ggf. warnungen aus, wenn nichts mehr kopiert werden muss und sonst pro dataset den Return-Code des zfs receive befehls. Eine 0 bedeutet also, dass erfolgreich kopiert wurde und 1 heißt meistens, dass der neuste Snapshot lokal schon der neuste vom Truenas ist.

#!/bin/sh

#plone jail base without site data
#check latest local snapshot
last=$(zfs list -t snap backup/plone/jails/plone -o name | tail -n 1 | awk -F'@' '{print $2}')

#check latest remote snapshot
latestRemote=$(ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs list -t snap -o name -r zroot/jails/plone | tail -n 1" | awk -F'@' '{print $2}')

#create incremental send stream between latest remote and local
ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs send -I @$last zroot/jails/plone@$latestRemote" | zfs recv backup/plone/jails/plone
echo $?

last=$(zfs list -t snap -o name backup/plone/website/plone/var/filestorage | tail -n 1 | awk -F'@' '{print $2}')

latestRemote=$(ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs list -t snap -o name -r zroot/data/website/plone/var/filestorage | tail -n 1" | awk -F'@' '{print $2}')

ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs send -I @$last zroot/data/website/plone/var/filestorage@$latestRemote" | zfs recv backup/plone/website/plone/var/filestorage
echo $?

last=$(zfs list -t snap -o name backup/plone/website/plone/var/blobstorage | tail -n 1 | awk -F'@' '{print $2}')

latestRemote=$(ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs list -t snap -r -o name zroot/data/website/plone/var/blobstorage | tail -n 1" | awk -F'@' '{print $2}')

ssh root@141.56.51.121 -p 1005 -i ./plonebackup "zfs send -I @$last zroot/data/website/plone/var/blobstorage@$latestRemote" | zfs recv backup/plone/website/plone/var/blobstorage
echo $?

Aktionen #2

Von GoeranHeinemann vor 4 Monaten aktualisiert

Damit das Script überhaupt funktioniert muss man zu erst einmalig alle Datasets manuell kopieren. Danach muss man (auf PBS) die Datasets wieder entmounten und dann auf "zfs set mountpoint=legacy <dataset>" gesetzt, damit keine index Dateien erstellt werden, weil die Snapshots sonst nicht empfangen werden können, wenn lokale änderungen existieren. Außerdem habe ich einen SSH-Key angelegt und diesen auf dem TrueNAS hinterlegt. Als letztes könnte man das Script dann noch in eine Systemd-Unit mit Timer packen, oder einen Eintrag in der crontab-Datei anlegen, um stündlich, oder einmal täglich alle Snapshots zu kopieren.

Aktionen #3

Von PaulRiegel vor 4 Monaten aktualisiert

  • Beschreibung aktualisiert (Vergleich)
  • Kategorie wurde auf srs1337 gesetzt
  • Status wurde von Neu zu In Bearbeitung geändert
Aktionen #4

Von PaulRiegel vor 4 Monaten aktualisiert

Aktionen #5

Von PaulRiegel vor 4 Monaten aktualisiert

  • Thema wurde von Backups für Plone einrichten zu Datensicherungen (Backups) vom Dienst Website (Anwendung Plone) einrichten geändert
Aktionen

Auch abrufbar als: Atom PDF