Hamburg/Backup

Aus wiki.freifunk.net
Wechseln zu: Navigation, Suche

Freifunk Hamburg

Backup der Server

Das Backup der Server wird mit Duplicity gemacht. Ansprechpartner ist tokudan bei einem der Treffen oder auf der öffentlichen Mailingliste.

Was wird gesichert?

Gesichert werden die folgenden Systeme:

  • srv02
  • srv03
  • srv04
  • cloud

Speicherplatz

Die Daten werden per SFTP auf host01 gesichert.

Welche Daten werden gesichert?

Die Daten werden in zwei Gruppen aufgeteilt: config und data. Unter config wird das OS und die Konfiguration des Systems gezählt, zu data zählen Daten wie die Home-Verzeichnisse, E-Mails, Datenbanken, usw. Gesteuert wird dies über das Skript /root/bin/backup.sh, darin sind Include und Exclude-Listen zu finden, die auf den jeweiligen Server angepasst werden müssen. Der Aufruf der backup-Funktion steuert das Backup. Hier ein Beispiel wie die Funktion aufgerufen werden kann:

backup data / srv02@host01.hamburg.freifunk.net 14D 3D <<-EOF
       - **/.cache
       + /var/lib/backup/**
       + /var/lib/mysql/**
       + /var/lib/postgresql/**
       + /var/lib/seafile-client/**
       + /var/spool/*/**
       + /var/vmail/**
       + /var/www/**
       - /bin
       - /boot
       - /dev
       - /etc
       - /home/sflow
       - /initrd.img
       - /lib
       - /lib64
       - /lost+found
       - /opt
       - /proc/**
       - /root/.cache
       - /run/**
       - /sbin
       - /selinux
       - /sys/**
       - /tmp/**
       - /usr
       - /var
       - /vmlinuz
EOF

Dies bedeutet, dass das Backup auf host01 im Unterverzeichnis backup/data gespeichert wird. Alte Backups werden nach 14 Tagen gelöscht (14D) und alle 3 Tage (3D) ein neues Vollbackup erstellt. Der erste Treffer auf der Include/Exclude-Liste legt fest ob eine Datei gesichert wird. Hier werden alle Daten gesichert, das OS und /home/sflow sowie Dateien oder Verzeichnisse die .cache heissen werden ausgeschlossen.

Auflisten/Wiederherstellen der Daten

Der erste Schritt ist herauszufinden ob die gesuchten Daten im config- oder im data-Bereich liegen. Die Konfiguration (/etc, /lib, /usr und ähnliches) der Systeme sollte im config-Bereich liegen, die eigentlichen Daten (/home, /var und ähnliches) in data. Im Zweifelsfall lasst euch die Daten in beiden Bereichen auflisten und sucht darin nach den Daten.

Duplicity benötigt zum Auflisten und Wiederherstellen eine URL, die wie folgt aufgebaut ist: sftp://srv02@host01.hamburg.freifunk.net/backup/data Hierbei steht "srv02" für das System von dem Daten wiederhergestellt werden sollen, "host01.hamburg.freifunk.net/backup" für den Server und das Verzeichnis auf dem die Daten liegen und "data" für den Bereich (config oder data).

Ein Auflisten der gesicherten Dateien ist mit folgendem Befehl möglich:

# duplicity list-current-files --no-encryption sftp://srv02@host01.hamburg.freifunk.net/backup/data

Ein Restore der Daten ist mit folgendem Befehl möglich:

# duplicity restore --verbosity 5 --no-encryption --file-to-restore home/tokudan sftp://srv02@host01.hamburg.freifunk.net/backup/data /home/tokudan/restore

Dies stellt /home/tokudan aus dem Backup wieder her und schreibt die Dateien nach /home/tokudan/restore. Wichtig ist hierbei dass das Argument zu "--file-to-restore" NICHT mit einem / anfangen darf, da sonst die Dateien im Backup nicht gefunden werden. Wird die Option "--file-to-restore" weggelassen, werden sämtliche Daten aus dem letzten Backup wiederhergestellt.

Mit der Option --time kann angegeben werden welches Backup zum Auflisten oder Restore benutzt werden soll. Details hierzu sind in der Manpage zu duplicity unter "TIME FORMATS" zu finden.