Dienstprogramm backup2l Wiederherstellung

Procédure

backup2l

backup2l ist ein Befehlszeilenwerkzeug zum Erstellen und Wiederherstellen von Datensicherungen auf einem entfernten Backup-System. In einer Standardinstallation werden die Backups selbstständig durch ein Cron-Skript erstellt.

backup2l unterstützt hierarchische differentielle Backups mit einer vom Benutzer festgelegten Anzahl von Ebenen und Backups pro Ebene. Bei diesem Schema wächst die Gesamtzahl der zu speichernden Archive nur logarithmisch mit der Anzahl der differentiellen Sicherungen seit der letzten Vollsicherung. Daher können kleine inkrementelle Sicherungen in kurzen Abständen erstellt werden, während zeit- und platzraubende Vollsicherungen nur in geringem Maße erforderlich sind.

Mit der Wiederherstellungsfunktion können Sie den Zustand des Dateisystems oder beliebiger Verzeichnisse/Dateien von früheren Zeitpunkten einfach wiederherstellen. Die Eigentums- und Berechtigungsattribute von Dateien und Verzeichnissen werden korrekt wiederhergestellt.

Eine offene Treiberarchitektur ermöglicht es, praktisch jedes Archivierungsprogramm als Backend zu verwenden. Die integrierten Treiber unterstützen .tar.gz-, .tar.bz2- oder .afioz-Dateien. Weitere benutzerdefinierte Treiber können hinzugefügt werden, wie in der mitgelieferten Konfigurationsdatei "first-time.conf" beschrieben.

Alle Steuerdateien werden zusammen mit den Archiven auf dem entfernten Backup-System gespeichert, und ihr Inhalt ist in der Regel selbsterklärend. Daher muss sich ein Benutzer im Notfall nicht nur auf die Wiederherstellungsfunktionalität von backup2l verlassen, sondern kann - falls nötig - die Dateien manuell durchsuchen und die Archive extrahieren.

Um zu entscheiden, ob eine Datei neu oder verändert ist, untersucht backup2l den Namen, die Änderungszeit, die Größe, die Eigentumsverhältnisse und die Berechtigungen.

Es ist auch möglich, "Hot Copies" zu erstellen, z. B. von MySQL-Datenbanken.

backup2l installieren

Ist bei den meisten Distributionen als Paket enthalten.

Um backup2l auf Ihrem lokalen Rechner zu installieren, ist ein einfacher Befehl erforderlich.

$ apt-get install backup2l

Konfigurieren Sie backup2l

Erstellen Sie die beiden Backup-Ordner:

$ mkdir -p /var/backup.d/final $ mkdir -p /var/backup.d/preliminary/mysql

Der Ordner "final" enthält die Archive der durchgeführten Backups und der Ordner "premilinary" enthält die im laufenden Betrieb durchgeführten Backups "hot copies".

Bearbeiten Sie die Konfigurationsdatei von backup2, z. B. mit dem Texteditor nano:

$ nano /etc/backup2l.conf

In der Zeile:

SRCLIST=(/var/wwww/mondomain.de /var/backup.d/preliminary)

Wählen Sie die Ordner aus, die Sie sichern möchten. In diesem Beispiel werden folgende Ordner gesichert: /var/wwww/mondomaine.de und /var/backup.d/preliminary, das die im laufenden Betrieb erstellten Sicherungskopien enthält.

SKIPCOND=(-path "/var/wwww/mondomaine.de/log/*")

Da der Speicherplatz auf dem Sicherungsziel größtenteils begrenzt ist, sollten Sie größere Verzeichnisse und Dateien ausschließen, die nicht wirklich gesichert werden müssen, wie z. B. die mit Ihrer Website verbundenen Log-Dateien.

BACKUP_DIR="/var/backup.d/final".

Die Datensicherung wird in diesem Verzeichnis eingerichtet. Die Dateien hier werden dann auf den Backupserver übertragen. Bei Bedarf können die Dateien auch verschlüsselt werden.

MAX_LEVEL=1 MAX_PER_LEVEL=9 MAX_FULL=1 GENERATIONS=1 CREATE_CHECK_FILE=1

Mit dieser Konfiguration erhalten Sie eine vollständige Sicherung und 9 inkrementelle Sicherungen. Wenn jede Woche ein neues inkrementelles Backup erstellt werden soll, muss max_per_level auf 6 gesetzt werden. Für eine Wiederherstellung sind immer ein vollständiges Backup und die inkrementellen Sicherungen erforderlich.

PRE_BACKUP () { echo "start pre backup scripts" sh /root/backup/hotcopy_mysql.sh chmod -R u=rw,go-rwx /var/backup.d/preliminary/* echo "pre backup scripts completed" }

POST_BACKUP () { echo "Executing post backup actions." chown -R root:backup /var/backup.d/final chmod -R u=rw,g=r /var/backup.d/final/* sh /root/backup/scp.sh echo "The backup has been completed." echo "----------------------------------------------" }

Diese Funktionen werden vor und/oder nach den Backups implementiert.

In diesem Teil wird die Funktion "PRE_BACKUP()" vor dem Backup und die Funktion "POST_BACKUP()" nach dem Backup ausgeführt. Das Bash-Skript für den Upload der Sicherung /root/backup/scp.sh wird in die Funktion "POST_BACKUP()" eingefügt.

Ihre Datei backup2l.conf ist nun konfiguriert. Damit backup2l Ihre Konfiguration übernehmen kann, editieren Sie diese Direktive wie folgt:

UNCONFIGURED=0

Hot Copies erstellen

Manche Dateien können nicht einfach als Kopie gesichert werden, da sie ständig zugänglich sind. Ein Beispiel hierfür sind MySQL-Datenbanken.

  • MySQL
$ nano /root/backup/hotcopy_mysql.sh

Hier wird das Programm "mysqldump" verwendet, um Datensicherungen von unseren MySQL-Datenbanken durchzuführen.

#!/bin/sh # Removing old dumps and creating directory rm /var/backup.d/preliminary/mysql/alldb.sql.gz mysqldump --user=root --password=XXXXXX --all-databases --skip-lock-tables | gzip > /var/backup.d/preliminary/mysql/alldb.sql.gz

Einrichten der Cronjobs

Konfigurieren Sie dazu die Datei /etc/cron.daily/zz-backup2l mit folgendem Inhalt (diese Datei wurde möglicherweise bereits bei der Installation von backup2l konfiguriert).

#!/bin/bash # Der folgende Befehl ruft 'backup2l' mit der Standard-Konfigurationsdatei # (/etc/backup2l.conf) auf. # # (Re)move it oder dieses gesamte Skript, wenn Sie keine automatischen Backups wünschen. # # Redirect its output if you do not want automatic e-mails after each backup. ! which backup2l > /dev/null ||| nice -n 19 backup2l -b.

Übertragen von Dateien

Es gibt in der Regel zwei Möglichkeiten, Dateien vom Sicherungsserver zu holen. Die erste und plausibelste Möglichkeit besteht darin, von dem Server, auf dem die Sicherung durchgeführt wurde, auf den Zielserver (Sicherungsserver) zu kopieren: Push Data. Dies könnte zum Beispiel mit scp geschehen. Die zweite Möglichkeit ist, die Daten vom Sicherungsserver zu übernehmen, wiederum mit scp: Pull Data. Die letzte Option ist meiner Meinung nach vorzuziehen, da ein Hacker nicht einfach auf die Backups zugreifen kann.

Für beide Optionen empfehle ich scp, da der Backup-Server wahrscheinlich ohnehin ein SSH-Login hat und die Leistung bei einer einmaligen Kopie in der Nacht kein Faktor sein sollte. Außerdem ist die Übertragung verschlüsselt. Sie können auch rsync verwenden.

Die Dateien können auch mit gpg verschlüsselt und nur verschlüsselt übertragen werden. Die Daten auf dem Sicherungsserver sind dann vor unbefugten Dritten geschützt. Der Entschlüsselungsschlüssel sollte nicht auf einem Server verbleiben, sondern lokal auf ein entfernbares Speichermedium wie einen USB-Stick kopiert werden.

Erstellen Sie einen SSH-Schlüssel und hängen Sie ihn an den Backup-Server an. Ich empfehle Ihnen, dieser Dokumentation zum Hinzufügen eines SSH-Schlüssels auf dem Backup-Server zu folgen.

$ ssh-keygen -b 4096 -t rsa

Erstellen Sie anschließend ein Bash-Skript für die Datensicherung in /root/backup.

$ nano /root/backup/scp.sh

Um die Befehle zu arrangieren, wird als Beispiel der Utilsator der Formel "rsyncscpdrive" unter dem Namen cdXXXXX verwendet.

#!/bin/bash SOURCE_DIRECTORY=/var/backup.d/final USER=cdXXXX TARGET_DIRECTORY=/files SERVER=rs1.cloudlws.com scp ${SOURCE_DIRECTORY}/* ${USER}@${SERVER}:${TARGET_DIRECTORY}

Übersicht über die verfügbaren LWS Cloud Drive-Pakete und ihre Preise ohne Steuern:

Monatliche Preise der Cloud Drive-Pakete :
Cloud Drive S
Cloud Drive M
Cloud Drive L
Cloud Drive XL
100 GB 250 GB 500Go 1TB
4.99€* 9.99€* 14.99€* 19.99€*

*Preis ohne MwSt.

Mit der Befolgung dieser Dokumentation sind Sie somit in der Lage, das Dienstprogramm backup2l zur Durchführung Ihrer Datenwiederherstellung zu verwenden.
Sie können sich unsere verschiedenen Angebote für Online-Backups auf unserer Verkaufsseite ansehen.