GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Kostengünstige Offsite-Backups nur zum Anhängen mit restic und Wasabi unter Debian 10

Diese Anleitung zeigt, wie Sie die kostenlose Sicherungssoftware restic installieren und konfigurieren auf Debian Buster Offsite-Backups bei der Cloud-Speicherfirma Wasabi zu speichern . Der Hauptvorteil dieses Handbuchs besteht darin, dass es obligatorische Backups nur zum Anhängen bereitstellt. Dies bedeutet, dass eine einmal erstellte Sicherung in dem Sinne sicher ist, dass sie nicht überschrieben oder von dem System gelöscht werden kann, von dem die Sicherung erstellt wurde. Das bedeutet, dass die Backup-Archive sowohl vor Naturkatastrophen am Ursprungsserver (z. B. Feuer) als auch vor von Menschen verursachten Unfällen (z. B. einem Fehler am Root-Shell-Prompt) geschützt sind. Die Backups sind auch in dem Sinne geschützt, dass sie verschlüsselt gespeichert werden, was bedeutet, dass nur die Person oder das System, das das Passwort für das Backup hat, es lesen kann.

Bitte beachten Sie, dass diese Anleitung ohne jegliche Gewährleistung zur Verfügung gestellt wird. Die Backup-Software restic hat noch nicht die Version 1.0 erreicht und sollte daher niemals als einzige Backup-Lösung verwendet werden. Um für eventuelle Pannen geschützt zu sein, stellen Sie bitte sicher, dass Sie eine Sicherungskopie des Systems erstellen, das Sie für den Zweck dieses Handbuchs verwenden möchten, bevor Sie beginnen. Stellen Sie außerdem sicher, dass die von Ihnen erstellte Sicherung durch eine Testwiederherstellung wirklich funktioniert.

Die Anleitung basiert auf und getestet auf Debian Buster (Debian 10). Ältere Debian-Versionen sind nicht Gegenstand dieses Handbuchs, aber wenn Sie selbst experimentieren möchten, sollte es möglich sein, das Debian Buster apt-Paket-Repository hinzuzufügen, um neuere Versionen von restic, tinyproxy und rclone auch auf Debian Jessie oder Stretch zu installieren.

Dieser Leitfaden ist in fünf Teile gegliedert:

Im ersten Teil bereiten wir ein Konto bei der Wasabi-Cloud vor Speicher, wo wir später die Backups speichern werden. Wasabi bietet eine kostenlose 30-Tage-Testversion zu Testzwecken.

Zweitens werden wir rclone installieren und konfigurieren , die einerseits Zugriff auf den Speicher bei Wasabi bietet, und andererseits eine Zugriffsschnittstelle für Restrikt zum Speicher bietet.

Drittens tinyproxy - ein einfacher Proxy-Server - wird vorbereitet, da er als Zwischenstufe benötigt wird, damit der Speicher zusammen mit Restic nur anhängend funktioniert.

Viertens richten wir das Sicherungsprogramm restic ein .

Als allerletzten Schritt werden wir testen sowohl eine Sicherung als auch eine teilweise Wiederherstellung.

1 Richten Sie ein Konto beim Wasabi-Cloud-Speicher ein

1.1 Erstellen Sie ein Wasabi-Konto

Wasabi hat eine kostenlose 30-Tage-Testversion, die hier zu finden ist:

https://wasabi.com/sign-up/

Nach dem Ausfüllen des Formulars auf der obigen Webseite erhalten Sie Ihre Zugangsdaten für die Weboberfläche von Wasabi. Melden Sie sich mit Ihren Zugangsdaten auf dieser Seite an:

https://console.wasabisys.com/

1.2 Erstellen Sie einen Bucket für Daten und einen anderen zum Sperren

Wir erstellen nun zwei sogenannte „Buckets“. Ein Bucket ist ein Speichercontainer, in dem Sie Daten speichern.

Erstellen Sie den ersten Bucket, indem Sie auf das rote Symbol mit dem Namen Bucket erstellen klicken die Sie oben rechts auf der Webseite finden. Im ersten Bucket werden alle Sicherungsdaten gespeichert, die wir später als DATABUCKET bezeichnen werden . Sie wissen, dass Sie einen Bucket-Namen auswählen müssen. Sie können beispielsweise das folgende Format als Vorlage für den Bucket-Namen verwenden:

yourdomain.com-restic-data

Bitte ersetzen Sie ihredomain.com in den Vorlagennamen oben mit dem Domänennamen des Computers, den Sie sichern möchten. Nach dem Festlegen des  DATABUCKET Name, bitte schreiben Sie ihn auf. Sie benötigen es später, um den Platzhaltertext DATABUCKET zu ersetzen in den Vorlagen, die später in diesem Handbuch folgen.

Wählen Sie dann die Region aus, in der sich der Bucket befinden soll. Für eine optimale Leistung ist es gut, die Region/den Kontinent des Servers auszuwählen, den Sie sichern möchten. Falls sich Ihr Server also in Europa befindet, können Sie wählen:

eu-central-1

Drücken Sie dann auf Weiter .

Auf der nächsten Seite werden zwei Auswahlmöglichkeiten angezeigt:für Bucket-Versionierung und Bucket-Protokollierung bzw. Sie können diese Optionen auf ihren Standardwerten belassen, d. h. Versionierung aussetzen und Protokollierung aussetzen . Klicken Sie dann auf Weiter , und klicken Sie auf Bucket erstellen .

Wiederholen Sie nun denselben Vorgang und erstellen Sie einen weiteren Bucket. Dieser zweite Bucket wird nur zum Speichern der Sperrinformationen von restic verwendet. Wir werden es später als LOCKBUCKET bezeichnen . Klicken Sie auf Bucket erstellen erneut und wählen Sie nun einen Namen für diesen zweiten Bucket, zum Beispiel in diesem Format:

yourdomain.com-restic-locks

Bitte ersetzen Sie ihredomain.com in der obigen Vorlage mit dem Domänennamen des zu sichernden Computers. Nach dem Setzen des LOCKBUCKET Name, bitte schreiben Sie ihn auf. Sie benötigen es später, um LOCKBUCKET zu ersetzen in den Vorlagen, die später in diesem Handbuch folgen.

(Restic verwendet Sperren, um sicherzustellen, dass jeweils nur ein Client Sicherungen oder Wiederherstellungen durchführt. Der Grund, warum wir einen separaten Bucket für die Sperrinformationen benötigen, ist, dass Restic in der Lage sein muss, Sperren hinzuzufügen und zu löschen, und deshalb brauchen wir einen Bucket die Löschungen zulässt.)

1.3 Erstellen Sie einen Benutzer

Klicken Sie auf IAM Symbol in der obersten Symbolzeile. Sie befinden sich nun im Identity &Access Management. Klicken Sie auf Nutzer in der linken Spalte. Klicken Sie dann auf das rote Symbol mit der Bezeichnung + Benutzer erstellen und wählen Sie einen logischen Benutzernamen, z. B. den Domänennamen des Servers, den Sie sichern möchten. Der Benutzername könnte beispielsweise system1.example.com lauten. Nachdem Sie den Benutzernamen festgelegt haben, notieren Sie ihn bitte, damit Sie BENUTZERNAME ersetzen können in den Vorlagen, die später in diesem Leitfaden folgen, mit Ihrem Wert.

Unter Zugang Aktivieren Sie im Dialogfeld im Abschnitt das Kontrollkästchen Programmatisch (API-Schlüssel erstellen) . Klicken Sie dann auf Weiter . Erstellen Sie eine Gruppe für den Benutzer. Wenn sich alle Ihre Server unter einer Hauptdomäne befinden, könnte diese Hauptdomäne ein geeigneter Gruppenname sein. Klicken Sie nun auf Weiter . Klicken Sie auf der folgenden Seite (Richtlinienerstellung) einfach auf Weiter. Klicken Sie abschließend auf Benutzer erstellen Schaltfläche.

Rechts neben dem Text Secret Key Am unteren Rand des Dialogfensters finden Sie einen kleinen Link namens Zeigen , auf die Sie klicken sollten. Speichern Sie sowohl den ACCESS KEY und den GEHEIMEN SCHLÜSSEL in einer Textdatei. Sie benötigen diese Informationen später, wenn wir den Zugriff auf Wasabi von dem Client-Computer konfigurieren, den Sie sichern werden.

1.4 Erstellen Sie eine Richtlinie

Damit der von uns erstellte Benutzer Zugriff auf die beiden Buckets erhält, müssen wir eine Zugriffsrichtlinie erstellen.

Klicken Sie auf Richtlinien in der linken Spalte der Wasabi-Weboberfläche. Klicken Sie dann auf den roten Button Richtlinie erstellen . Sie können den Domänennamen des Computers, den Sie sichern möchten, als Richtliniennamen auswählen, z. B. system1.example.com . Schreiben Sie den Richtliniennamen in das obere linke Feld.

Nachfolgend finden Sie eine Vorlage, die Sie als Grundlage für die eigentliche Richtlinie verwenden. Kopieren Sie die Vorlage in einen Texteditor und ersetzen Sie dann die beiden Vorkommen von DATABUCKET in der Textdatei mit dem Namen, den Sie dem ersten Bucket gegeben haben, und den beiden Vorkommen von LOCKBUCKET mit dem Namen, den Sie für den zweiten Bucket gewählt haben.

{
 "Version": "2012-10-17",
 "Statement": [
 {
 "Effect": "Allow",
 "Action": "s3:ListAllMyBuckets",
 "Resource": "arn:aws:s3:::*"
 },
 {
 "Effect": "Allow",
 "Action": "s3:*",
 "Resource": [
 "arn:aws:s3:::DATABUCKET",
 "arn:aws:s3:::DATABUCKET/*",
 "arn:aws:s3:::LOCKBUCKET",
 "arn:aws:s3:::LOCKBUCKET/*"
 ]
 }
 ]
}

Kopieren Sie die von Ihnen erstellte Richtlinie aus Ihrem Texteditor und fügen Sie sie in das große Hauptfeld des Dialogfensters der Wasabi-Webseite ein. Klicken Sie dann auf Speichern .

1.5 Wenden Sie die Richtlinie an

Die Richtlinie muss nun auf den Benutzer angewendet werden. Klicken Sie auf Nutzer links und klicken Sie dann auf den von Ihnen erstellten Benutzer. Klicken Sie nun auf die Berechtigungen Registerkarte (rechts im grauen horizontalen Menü). Beginnen Sie dann mit der Eingabe der ersten Buchstaben des Richtliniennamens, den Sie beim Erstellen der Richtlinie im Textfeld unter Beginnen Sie mit der Eingabe, um Richtlinien für den Benutzer zu finden, einzugeben . Klicken Sie auf den Namen Ihrer Police. Jetzt haben Sie die Richtlinie auf den Benutzer angewendet.

1.6 Legen Sie fest, dass der Daten-Bucket unveränderlich ist (nur Anhängen)

Aus Sicherheitsgründen möchten wir, dass es unmöglich ist, bereits erstellte Backups vom Client (dem Computer, von dem die Backups erstellt werden) zu überschreiben. Um dies zu erreichen, verwenden wir die unveränderliche Wasabi-Funktion. Klicken Sie im Webinterface von Wasabi auf Speicher (in der oberen Leiste). Klicken Sie dann auf den DATABUCKET (wahrscheinlich derjenige, der mit restic-data endet). Klicken Sie auf das weiße Zahnrad für Einstellungen (nach oben rechts). Klicken Sie dann auf Compliance in der weißen oberen Leiste. Klicken Sie auf den Schieberegler rechts neben Compliance-Modus, um diesen Modus zu aktivieren. Wenn Sie möchten, können Sie Nach Aufbewahrung löschen aktivieren Sie müssen jedoch sicherstellen, dass Sie der Aufbewahrungszeit einen großen Wert beimessen , dies ist die Mindestzeit, die jede Datei bleibt, nachdem der Client versucht hat, sie zu löschen. Geben Sie hier zum Beispiel 100 Jahre ein. (Es scheint, als könnten Sie dieses Feld nicht für eine unbegrenzte Aufbewahrungszeit leer lassen.) Dies bedeutet, dass Daten 100 Jahre lang sicher sind und während dieser Zeit weder gelöscht noch geändert werden können. Drücken Sie Speichern um Ihre Einstellungen zu speichern.

1.7 Erstellen Sie den Sperrordner

Klicken Sie im Webinterface von Wasabi auf Speicher (in der oberen Leiste). Klicken Sie dann auf den LOCKBUCKET (diejenige, die mit restic-locks endet).

Drücken Sie nun die grüne Schaltfläche mit der Bezeichnung Ordner erstellen . Nennen Sie den Ordner Sperren damit es später für die Restic-Lock-Dateien verwendet werden kann.

Wir sind nun mit der Konfiguration im Wasabi-Webinterface fertig. Im nächsten Abschnitt beginnen wir mit der Arbeit am Terminal des Computers, den wir sichern möchten.

2 Installieren und konfigurieren Sie rclone

2.1 Erstellen Sie zuerst ein Backup über Ihr bestehendes System

Jetzt ist es an der Zeit, auf den Computer zuzugreifen, von dem die Backups genommen werden sollen.

Bitte denken Sie daran, bei einem bestehenden System ein Backup dieses Computers zu erstellen! Bitte testen Sie auch, ob die Sicherung durch eine Testwiederherstellung funktioniert, bevor Sie fortfahren. Falls etwas nicht wie erwartet funktionieren sollte, ist es entscheidend, zu einem funktionierenden Zustand zurückkehren zu können.

2.2 RClone installieren

Alle unten gezeigten Zeilen sollten in das Terminal eingegeben werden, gefolgt von Enter.

Verbinden Sie sich mit dem Terminal des Computers, von dem Sie Backups erstellen möchten, beispielsweise über SSH. Geben Sie dann diesen Befehl aus, um root zu werden:

su -

gefolgt von Enter und dem Root-Passwort. Root-Zugriff ist erforderlich, da wir neue Programme aus dem Debian-Repository installieren werden.

Installieren Sie nun rclone:

apt install rclone

2.3 Konfigurieren Sie rclone für die Verbindung mit Wasabi

Geben Sie dann zur Konfiguration von rclone diesen Befehl ein:

rclone config

Geben Sie dann ein:

n

Jetzt ist es an der Zeit, einen Namen für die Konfiguration zu wählen. Bitte beachte, dass. (Punkt) ist im Namen nicht erlaubt, aber andererseits ist - (Bindestrich) erlaubt. Um Ihre rclone-Konfiguration zu benennen, verwenden Sie diese Vorlage, aber ersetzen Sie zuerst yourdomain-com durch Ihren eigenen Domainnamen, zuerst Ersetzen. (Punkte) im Domainnamen mit - (Bindestriche):

wasabi-yourdomain-com-restic

Speichern Sie den Namen, den Sie der rclone-Konfiguration geben, da Sie später den Platzhalter RCLONECONFIG ersetzen mit dem Namen.

Drucken Sie dann 4 für Amazon S3-konforme Speicheranbieter und Enter

Drucken Sie dann 7 für Wasabi Object Storage und Enter

Drucken Sie dann 1 für Geben Sie im nächsten Schritt die AWS-Anmeldeinformationen ein und Enter

Kopieren Sie den ACCESS KEY die Sie zuvor in einer Datei gespeichert haben, und fügen Sie sie ein, und drücken Sie dann die Eingabetaste

Kopieren Sie dann den SECRET KEY und fügen Sie ihn ein Sie haben vorher auch in der gleichen Datei gespeichert, gefolgt von Enter

Drucken Sie die Region aus, die Sie für Ihre Eimer auswählen. Die Region finden Sie, wenn Sie in der obersten Zeile der Wasabi-Weboberfläche auf Lagerung klicken. Geben Sie beispielsweise diese Region für Europa ein und geben Sie dann Folgendes ein:

eu-central-1

Für Endpoint for S3 API , geben Sie dies ein, wenn sich der Bucket in der EU-Region befindet, gefolgt von Enter:

s3.eu-central-1.wasabisys.com

Wenn sich Ihr Bucket in den USA befindet, finden Sie den Namen Ihres Endpunkts in diesem Dokument:

https://wasabi-support.zendesk.com/hc/en-us/articles/360015106031-What-are-the-service-URLs-for-Wasabi-s-different-regions-

Belassen Sie die Standortbeschränkung leer und drücken Sie die Eingabetaste

Drücken Sie 1 für Eigentümer erhält FULL_CONTROL und dann Enter

Drücken Sie y für Erweiterte Konfiguration bearbeiten und dann Enter

Drücken Sie die Eingabetaste für Standardwert für Chunk-Größe

Drücken Sie Eingabe für Standardwert für Prüfsumme deaktivieren

Drücken Sie Eingabe für Standardwert für Sitzungstoken

Geben Sie  16 ein für Gleichzeitiges Hochladen und dann Enter

Drücken Sie Eingabe für den Standardwert für force_path_style 

Drücken Sie Eingabe für den Standardwert für v2_auth gefolgt von Enter

Drücken Sie y für Ja, das ist OK und Enter

Drücken Sie q zum Beenden der Konfiguration .

Damit ist die Konfiguration für rclone abgeschlossen.

2.4 Testen Sie, ob rclone mit Wasabi funktioniert

Erstellen Sie nun eine Testdatei mit diesem Befehl:

Echotest>> /tmp/test.txt

Übertragen Sie die Testdatei mit dem folgenden Befehl. Allerdings müssen Sie zuerst RCLONECONFIG ändern zu Ihrem Wert, und auch DATABUCKET auf Ihren Wert für diesen Parameter. Alles steht in einer Zeile:

rclone -v sync /tmp/test.txt RCLONECONFIG:DATABUCKET/

Wenn alles funktioniert, sollten Sie jetzt die test.txt-Datei in der Wasabi-Weboberfläche für den DATABUCKET sehen . Bitte beachten Sie, dass es manchmal bis zu ca. 1 Minute bis die Datei angezeigt wird. Testen Sie auch eine Übertragung mit dem anderen Bucket, der mit restic-locks endet:

rclone -v sync /tmp/test.txt  RCLONECONFIG:LOCKBUCKET/

Überprüfen Sie nun erneut die Wasabi-Weboberfläche auf die Textdatei, die sich im LOCKBUCKET befinden sollte .

2.5 Richten Sie rclone ein, um restic über systemd bereitzustellen

Rclone verfügt über eine integrierte Funktion zur Verwendung eines Cloud-Speicherplatzes (in unserem Fall Wasabi) und dient dazu, auf kompatible Weise zu resticieren. Diese Art der Ausführung von rclone erfolgt über den Befehl rclone serve restic, der als Serverprozess fungiert. Wir brauchen zwei dieser Serverprozesse:einen main für fast alles und einen zweiten, der sich nur mit den Restic-Lock-Dateien befasst.

Erstellen Sie zuerst einen Restic-Benutzer:

adduser restic

Kopieren Sie die rclone-Konfiguration vom root-Benutzer zum restic-Benutzer:

su restic
mkdir -p /home/restic/.config/rclone
exit
cp -a /root/.config/rclone/rclone.conf /home/restic/.config/rclone/
chown restic.restic /home/restic/.config/rclone/rclone.conf

Erstellen Sie eine systemd-Steuerdatei, zum Beispiel mit dem Nano-Editor:

nano /etc/systemd/system/restic-data.service

Die Datei sollte die folgenden Daten enthalten. Bitte beachten Sie, dass Sie nach wie vor die RCLONECONFIG ändern müssen Wert sowie der DATABUCKET Wert an Ihre Einstellungen anpassen.

[Unit]       
Description=Rclone serve restic data on wasabi
After=network.target

[Service]
Type=simple
User=restic
Group=restic
ExecStart=/usr/bin/rclone serve restic RCLONECONFIG:DATABUCKET --addr=127.0.0.1:8001 --append-only --retries 10 --transfers 20 --s3-upload-concurrency 8 --s3-chunk-size 16M
Restart=always
RestartSec=5
StartLimitInterval=0

[Install]
WantedBy=multi-user.target

Speicher die Datei. Der Zweck besteht darin, dass rclone eine Restic-Schnittstelle zum Wasabi-Cloud-Storage-Bucket bereitstellt. Der soeben erstellte systemd-Dienst wird beim nächsten Booten automatisch gestartet, aber zuerst müssen wir ihn mit diesen Befehlen aktivieren:

systemctl daemon-reload
systemctl enable restic-data
systemctl start restic-data

Dann prüfen wir, ob der Dienst gestartet wurde:

systemctl status restic-data

Sie sollten jetzt Active:active (running) sehen wenn alles richtig funktioniert. Drücken Sie q, um die Statusanzeige zu verlassen.

Jetzt haben wir den rclone serve restic service auf Port 8001 installiert, der sich mit einem Bucket verbindet, der nur angehängt werden kann und die Backups speichert.

Als nächstes brauchen wir einen weiteren Dienst auf Port 8002 für das Restic Locking System, das mit dem zweiten Bucket verbunden ist, der Read+Write ist. Daher werden wir die gerade durchgeführten Schritte noch einmal mit geringfügigen Änderungen wiederholen.

Erstellen Sie eine systemd-Steuerdatei :

nano /etc/systemd/system/restic-locks.service

Die Datei sollte die folgenden Daten enthalten. Die Zeile, die mit ExecStart=beginnt, ist eine einzelne, lange Zeile, die unten in drei Zeilen aufgeteilt ist. Bitte ändern Sie die RCLONECONFIG Wert sowie der LOCKBUCKET Wert an Ihre Einstellungen anpassen.

[Unit]       
Description=Rclone serve restic locks on wasabi
After=network.target

[Service]
Type=simple
User=restic
Group=restic
ExecStart=/usr/bin/rclone serve restic RCLONECONFIG:LOCKBUCKET --addr=127.0.0.1:8002
Restart=always
RestartSec=5
StartLimitInterval=0

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und aktivieren Sie sie über:

systemctl daemon-reload
systemctl enable restic-locks
systemctl start restic-locks

Überprüfen Sie, ob der Dienst gestartet wurde:

systemctl status restic-locks

Sie sollten jetzt Active:active (running) sehen .

Drücken Sie q beenden.

Jetzt haben wir beide rclone serve restic systemd-Dienste erstellt, zuerst auf Port 8001 für den Hauptdienst im Append-Only-Modus und dann auf Port 8002 für den Locking-Dienst im Read+Write-Modus.

3 Tinyproxy vorbereiten

Tinyproxy wird die beiden Dienste zu einer einheitlichen Front verschmelzen, die restic präsentiert wird. Es wird in einem Root-Terminal des Computers installiert, den Sie sichern möchten:

apt install tinyproxy

Erstellen Sie dann ein Backup der tinyproxy-Konfigurationsdatei:

cp -a /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.conf.bak

Wenn die Datei hier nicht zu finden ist, kann sie stattdessen oft unter /etc/tinyproxy.conf gefunden werden.

Bearbeiten Sie nun die Konfigurationsdatei:

nano /etc/tinyproxy/tinyproxy.conf

Sie sollten eine Reihe von Änderungen an den Dateien vornehmen, die nun detailliert beschrieben werden. Kommentieren Sie zuerst die voreingestellte Portnummer aus und setzen Sie eine neue Portnummer:

#Port 8888
Port 8000

Zweitens ist es wichtig, nur Verbindungen von localhost zuzulassen, also fügen Sie eine Listen-Zeile hinzu:

#Listen 192.168.0.1
Listen 127.0.0.1

Drittens ändern Sie den Timeout-Wert auf eine Stunde:

#Timeout 600
Timeout 3600

Viertens verbinden Sie tinyproxy mit den beiden rclone serve restic systemd-Diensten. Sie müssen in der unten gezeigten Reihenfolge geschrieben werden:die allgemeine Regel zuerst und die spezifische Regel zuletzt, da die letzte Regel in tinyproxy bei Gleichstand immer gewinnt.

ReversePath "/" "http://127.0.0.1:8001/"
ReversePath "/locks" "http://127.0.0.1:8002/locks"

Lassen Sie tinyproxy schließlich ausschließlich im Reverse-Only-Modus arbeiten:

#ReverseOnly Yes
ReverseOnly Yes

Jetzt wurden alle notwendigen Änderungen vorgenommen. Bitte speichern Sie die Konfigurationsdatei, in Nano tun Sie dies, indem Sie Strg+O drücken, und beenden Sie dann Nano mit Strg+X, um zum Terminal zurückzukehren.

Um tinyproxy zu aktivieren, werden wir ihn jetzt neu starten:

systemctl stop tinyproxy
systemctl start tinyproxy

Überprüfen Sie abschließend, ob tinyproxy korrekt läuft:

systemctl status tinyproxy

Drücken Sie q beenden. Jetzt ist tinyproxy für die Verwendung durch Restic konfiguriert. Im nächsten Abschnitt werden wir restic selbst einrichten.

4 Richten Sie das Restic-Backup-Programm ein

Schließlich führen wir den letzten Schritt der Konfiguration durch, nämlich das Einrichten des Restic-Backup-Programms. Installieren Sie zuerst restic:

apt install restic

Dann müssen wir die Umgebungsvariablen für Restic initialisieren. Zuerst geben wir den Speicherort des Restic-Repositorys an, indem wir diesen in ein Terminal eingeben:

export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'

Bitte entscheiden Sie sich nun für eine starke Passphrase für Ihre Backups. Es ist wichtig, dass Sie die Passphrase an einem sicheren Ort speichern. Die Passphrase ist erforderlich, um auf die Backups zugreifen zu können, da diese vollständig verschlüsselt sind. Ersetzen Sie PASSPHRASE unten mit dem von Ihnen gewählten Passwort und geben Sie dann im Terminal den Befehl ein:

export RESTIC_PASSWORD='PASSPHRASE'

Lassen Sie uns nun das Restic-Repository erstellen:

restic init

Lassen Sie uns testen, ob restic so funktioniert, wie es sollte. Wir haben das Passwort bereits in der Umgebungsvariable RESTIC_PASSWORD gespeichert, sodass wir auf das Repository zugreifen können, um Snapshots aufzulisten:

restic snapshots

Wenn alles so läuft wie es soll, sollten wir jetzt eine leere Liste erhalten (da wir noch kein Backup gemacht haben) und den Text 0 Snapshots .

Wir haben nun alles für die Speicherung der Backups vorbereitet und können mit den letzten Schritten zur Durchführung von Backups und Wiederherstellungen fortfahren.

5 Testen Sie sowohl die Sicherung als auch eine teilweise Wiederherstellung

Im letzten Schritt dieses Tutorials führen wir eine vollständige Sicherung des Systems durch und testen dann eine teilweise Wiederherstellung. Zu diesem Zweck werden zwei Shell-Skripte erstellt (eines für die Sicherung und eines für die Wiederherstellung).

5.1 Erstellen Sie ein Backup-Skript

Zunächst benötigen Sie ein Backup-Skript, das in einem geeigneten Intervall, z. B. einmal pro Tag, über Cron ausgeführt werden kann. Das Backup-Skript kann beispielsweise als Datei erstellt werden, auf die nur root Zugriff hat, und dann mit nano:

bearbeitet werden
touch /usr/local/bin/backup-restic.sh 
chown root.root /usr/local/bin/backup-restic.sh
chmod 700 /usr/local/bin/backup-restic.sh
nano /usr/local/bin/backup-restic.sh

Nachfolgend finden Sie ein Beispiel für den Inhalt des Sicherungsskripts, in dem Sie die PASSPHRASE ändern müssen zu der Passphrase, die Sie zuvor ausgewählt haben.

#!/bin/sh
export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'
export RESTIC_PASSWORD='PASSPHRASE'      
restic backup / --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/run --exclude=/tmp --exclude=/mnt --exclude=/root/.cache

Bitte beachten Sie die oben gemachten Ausnahmen – Sie möchten vielleicht die Verzeichnisse ändern, die von der Sicherung ausgeschlossen sind.

5.2 Führen Sie das Backup-Skript aus

Speichern Sie die Datei und führen Sie sie über das Terminal aus:

/usr/local/bin/backup-restic.sh

Nach einigen Sekunden sollten Sie sehen, wie restic Ihre Dateien durchläuft und auch einen geschätzten Prozentsatz, wie viel von der Sicherung abgeschlossen ist. ETA ist eine grobe Schätzung der verbleibenden Zeit bis zum Abschluss in Minuten und Sekunden. Die erste Sicherung dauert ziemlich lange, aber die folgenden Sicherungen sind schnell, da nur Dateien übertragen werden müssen, die sich seit der letzten Sicherung geändert haben oder neu erstellt wurden.

Damit das Backup regelmäßig läuft, fügen Sie der crontab eine Zeile hinzu. Bearbeiten Sie zuerst /etc/crontab mit:

nano /etc/crontab

Fügen Sie dann die Planung für die Sicherung hinzu. Wenn die Sicherung beispielsweise jeden Tag um 02:00 Uhr früh morgens ausgeführt werden soll, fügen Sie diese Zeile zu /etc/crontab hinzu :

00 02           * * *   root    /usr/local/bin/backup-restic.sh

(Bitte beachten Sie, dass cron mit dem Format mm:hh arbeitet – also Minuten vor Stunden.)

5.3 Testen Sie, ob die Wiederherstellung funktioniert

Ein Backup-System ist nie vollständig, bis man getestet hat, dass Wiederherstellungen gut funktionieren. Wir werden den Fuse-Mount von Restic verwenden, um das neueste Backup zu durchsuchen. Geben Sie dies im Terminal ein und ändern Sie PASSPHRASE zu der Restic-Passphrase, die Sie zuvor ausgewählt haben:

mkdir /mnt/restic
export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'
export RESTIC_PASSWORD='PASSPHRASE'
restic mount /mnt/restic &
cd /mnt/restic
cd snapshots
cd latest
ls

Jetzt können Sie den letzten Schnappschuss (das letzte erstellte Backup) sehen. Sie können mit diff vergleichen, ob eine Datei korrekt gesichert wurde, zum Beispiel für /etc/fstab :

diff /mnt/restic/snapshots/latest/etc/fstab /etc/fstab

Wenn Sie keine Ausgabe von diff erhalten, sind die beiden Dateien identisch und die Sicherung hat für diese Datei funktioniert. Wenn Sie die Datei hingegen seit der letzten Sicherung geändert haben, sehen Sie, welche Zeilen in den Dateien sich unterscheiden.


Schließlich werden wir die restische Sicherungshalterung aushängen:

cd ~
umount /mnt/restic/

5.4 Schlussbemerkungen

Herzlichen Glückwunsch, wenn alles gut gelaufen ist, haben Sie jetzt die Einrichtung eines sekundären Backup-Systems abgeschlossen, das über mehrere robuste Funktionen verfügt:

Das Sicherungssystem ist extern , was bedeutet, dass es Daten vor Unfällen schützt, die auf dem Computer passieren könnten, von dem die Backups gemacht werden.

Es ist auch nur Anhängen , was bedeutet, dass kein Virus oder Unfall auf dem Computer, von dem die Backups erstellt wurden, jemals ein bereits erstelltes Backup überschreiben kann. Die einzige Möglichkeit zum Löschen von Backups ist die Anmeldung über die Wasabi-Weboberfläche, daher sollten Sie Ihre Anmeldedaten für die Wasabi-Weboberfläche schützen. Vorzugsweise können Sie 2FA (Zwei-Faktor-Authentifizierung) für höhere Sicherheit aktivieren.

Wenn Sie den Cron-Job aktivieren, ist das Backup-System auch automatisch . Denken Sie jedoch immer daran, Wiederherstellungen regelmäßig zu testen, damit Sie überprüfen können, ob die Sicherung funktioniert.

Im Vergleich zu vielen anderen Online-Cloud-Speicherdiensten hat die Verwendung von Wasabi den Vorteil schneller Übertragungen zu einem wettbewerbsfähigen Preis .

Dieses System eignet sich gut für sekundäre Backups, als zusätzliche Versicherung für den Fall, dass das erste Backup-System aus irgendeinem Grund ausfällt. Schließlich ist ein wichtiger Vorteil, dass es sich auf jede gewünschte Größe skalieren lässt - Sie zahlen einfach pro GB Speicherplatz (obwohl Sie immer mindestens 1 TB bezahlen müssen) und haben praktisch keine Grenze für den maximalen Speicherplatz.


Debian
  1. Beschleunigen Sie Apache mit mod_pagespeed und Memcached auf Debian 8

  2. Nur-Anhängen von Backups mit borg an einen anderen VPS oder dedizierten Server

  3. Installieren und konfigurieren Sie Apache und PHP mit cgi auf Ubuntu oder Debian

  4. Richten Sie Apache und Php mit mod_fcgid auf Ubuntu/Debian ein

  5. Wie man einen Mailserver mit Exim4 und DBMail auf einem Debian 7 VPS einrichtet

Lighttpd mit PHP5 (PHP-FPM) und MySQL auf Debian 8 (Jessie) installieren

Serverüberwachung mit Munin und Monit auf Debian 8 (Jessie)

So installieren und konfigurieren Sie vsftpd mit TLS unter Debian 8 (Jessie)

Installation von Nginx mit PHP (als PHP-FPM) und MariaDB (LEMP) auf Debian 8

Installieren Sie Lighttpd mit PHP FPM und MariaDB (LLMP) unter Debian 9

So sichern Sie Dateien und Ordner in Debian 10