Auf Grund der Skalierbarkeit und der hohen Verfügbarkeit eignen sich Buckets besonders gut zum Speichern von Backups.
Kopia ist ein Open-Source-Programm für schnelle und sichere Backups von lokalen Ordnern und Dateien. Es verschlüsselt die Backups, sodass nur Sie auf diese zugreifen können. Weitere Information über Kopia finden Sie hier:
-
Erstellen Sie Ihre S3-Zugangsdaten
Für eine Schritt-für-Schritt-Anleitung, siehe das Getting Started "S3-Zugangsdaten hinzufügen".
Denken Sie daran, die Zugangsdaten nach dem Erstellen an einem sicheren Ort zu speichern. Der Secret Key kann weder über die Cloud Console noch über die API erneut angezeigt werden.
-
Kopia installieren
Wenn Kopia CLI auf Ihrem System noch nicht installiert ist, installieren Sie es jetzt. Verwenden Sie dafür die offiziellen Schritte unter kopia.io.
-
Das Kopia-Passwort erzeugen und speichern
Mit
apg
(Advanced Password Generator) können Sie ein zufälliges Passwort generieren. Auf Debian-basierten Systemen können Sie es mitapt install apg
installieren.apg -a 1 -m 32 -n 1 -M NCL
Kopieren Sie das Kopia-Passwort aus dem Output und speichern Sie es lokal ab.
-
Repository erstellen
Für diesen Schritt benötigen Sie einen bestehenden Bucket (sehen Sie dazu das Getting Started "Bucket erstellen"). Ersetzen Sie in folgendem Befehl
fsn1
mit dem Standort Ihres Buckets.Erstellen Sie ein neues Repository:
kopia repository create s3 \ --access-key=<your_access_key> \ --secret-access-key=<your_secret_key> \ --endpoint=fsn1.your-objectstorage.com \ --region=fsn1 \ --bucket="<your_bucket_name>"
Wenn nach einem Passwort gefragt wird, geben Sie das eben erstellte Passwort an. Kopia verwendet das Passwort zum Verschlüsseln der Daten.
Wichtig: Beim Wiederherstellen eines Backups, müssen Sie das Passwort erneut angeben, um die Daten zu entschlüsseln. Speichern Sie das Passwort an einem sicheren Ort, da Sie nicht mehr auf Ihre Kopia Backups zugreifen können, wenn Sie dieses verlieren.
Nachdem das Repository erstellt wurde, prüfen Sie ob alles wie erwartet funktioniert:
kopia repository validate-provider
Im Output sollte etwas wie "All good" stehen.
Sie sollten automatisch mit den neuen Repository verbunden sein. Um zu Prüfen, ob die Verbindung tatsächlich steht, führen Sie diesen Befehl aus:
kopia repository status -t -s
Ganz oben in der Ausgabe sollten diese Informationen angezeigt werden:
Storage config: { "bucket": "<your_bucket_name>", "endpoint": "fsn1.your-objectstorage.com", "accessKeyID": "<your_access_key>", "secretAccessKey": "*************". [...] }
Am Ende der Ausgabe sollte ein Befehl wie dieser angezeigt werden:
kopia repository connect from-config --token <token>
Mit
kopia repository disconnect
würden Sie die Verbindung zum Repository beenden. Nachdem die Verbindung beendet wurde, können Sie sich wiederverbinden, indem Sie entweder wie beim Erstellen die Zugangsdaten und den Endpunkt angeben oder den Befehl mit dem Token aus der oben genannten Ausgabe verwenden.Zum Wiederverbinden können Sie einen der folgenden Befehle nutzen:
- Zugangsdaten und Endpunkt angeben
kopia repository connect s3 \ --access-key=<your_access_key> \ --secret-access-key=<your_secret_key> \ --endpoint=fsn1.your-objectstorage.com \ --region=fsn1 \ --bucket=<your_bucket_name>
- Token angeben
kopia repository connect from-config --token <token>
- Zugangsdaten und Endpunkt angeben
-
Backup erstellen
Erstellen Sie erst eine Testdatei:
mkdir $HOME/test-repo echo "Content of test file." > $HOME/test-repo/test.txt
Erstellen Sie nun ein Backup von der Testdatei. Bevor Sie den Befehl ausführen, stellen Sie sicher, dass Sie noch mit dem Repository verbunden sind.
kopia snapshot create $HOME/test-repo kopia snapshot list $HOME/test-repo
Das Backup sollte direkt in Ihrem Bucket angezeigt werden.
-
Backups anzeigen und wiederherstellen
-
List all snapshots:
kopia snapshot list # Identische Snapshots anzeigen (gleiche Snapshot-ID) # kopia snapshot list -l
Beispiel-Output:
holu@example:C:\Users\holu\test-repo <time_stamp> <snapshot-id> 48 B drwxrwxrwx files:1 dirs:1 <tags>
-
Dateien und Ordner innerhalb eines Snapshots anzeigen:
kopia ls -l <snapshot-id>
Beispiel-Output:
w-rw- 48 <time_stamp> 88cccae56419a116dfe37e03745f99f4 test.txt
-
Snapshot wiederherstellen
kopia snapshot restore <snapshot-id> <zielordner>
Den Zielordner können Sie beispielsweise
$HOME/test-repo-restored
nennen. -
Snapshot löschen
kopia snapshot delete <snapshot-id> --delete
-
-
Automatische Backups einrichten
Mit Cron-Jobs können Sie Backups automatisiert zu erstellen.
Führen Sie
repository status
aus, um den Token anzuzeigen, den Sie brauchen, um sich wieder zu verbinden:kopia repository status -t -s
Kopieren Sie den Befehl aus dem Output, um diesen im Skript hinzufügen zu können:
kopia repository connect from-config --token <token>
Erstellen Sie ein Skript, z.B.
$HOME/backup.sh
, und fügen Sie den eben kopierten Befehl ein:#!/bin/bash set -e # Mit Repository verbinden kopia repository connect from-config --token <token> # Snapshots erstellen: kopia snapshot create $HOME/test-repo
Machen Sie das Skript ausführbar:
chmod 700 $HOME/backup.sh
Führen Sie das Skript manuell aus, um zu testen ob es funktioniert:
./backup.sh
Wenn der Snapshot im Bucket erscheint, kann der Cron-Job eingerichtet werden:
crontab -e
Fügen Sie diese Zeile ein:
0 0 * * * $HOME/backup.sh
Mit diesem Cron-Job wird das Skript täglich um Mitternacht ausgeführt.
* * * * * /path │ │ │ │ └───────────── Day of the week (0 - 6) │ │ │ └───────────── Month (1 - 12) │ │ └───────────── Day of the month (1 - 31) │ └───────────── Hour (0 - 23) └───────────── Minute (0 - 59)
Von Ihren Daten sollten nun automatisch Backups erstellt werden.