Zurück zur Startseite

Object Storage Client Tools

Neben Integrationen in ihr Entwicklungs-Framework gibt dutzende Tools, um auf Buckets zuzugreifen. Wir stellen hier Konfigurationen für die gängigsten Tools vor. Für weitere Details konsultieren Sie am besten direkt die Dokumentation zur jeweiligen Software.

s3cmd

s3cmd ist ein beliebtes Command Line Tool zum Verwalten der Daten in Object Storage Buckets. Das Tool ist für AWS S3 ausgelegt, funktioniert aber problemlos mit anderen kompatiblen Systemen, wie unserem Object Storage. Um es zu konfigurieren, benötigen Sie Angaben zu Ihrem Bucket und zum entsprechenden User. Stellen Sie sicher, dass der User Zugriff auf den Bucket hat.

Dies ist eine Beispiel Konfiguration, welche in einer Datei ~/.s3cfg liegen soll. Passen sie die Werte entsprechend den Informationen für Ihren User und Bucket an.

[default]
access_key = 6aaf50b17357446bb1a25a6c93361569
secret_key = fcf1c9c6bc5c4384a4e0dbff99d3cc52
host_base = cz42.objectstorage.nineapis.ch
host_bucket = cz42.objectstorage.nineapis.ch
bucket_location = nine-cz42
signature_v2 = True
use_https = True

Danach können Daten hochgeladen werden.

s3cmd put image01.jpg s3://my-bucket

rclone

rclone wird häufig für das Backup von Daten auf einen S3 kompatiblen Speicher verwendet. Es gibt aber zahlreiche weitere Backends für verschiedene andere Speicher.

Dies ist eine Beispiel Konfiguration, welche in einer Datei ~/.config/rclone/rclone.conf liegen soll. Passen sie die Werte entsprechend den Informationen für Ihren User und Bucket an.

[nine-cz42]
type = s3
provider = Other
access_key_id = 6aaf50b17357446bb1a25a6c93361569
secret_access_key = fcf1c9c6bc5c4384a4e0dbff99d3cc52
region = nine-cz42
endpoint = https://cz42.objectstorage.nineapis.ch

Danach können Dateien von der lokalen Disk auf den Object Storage hochgeladen werden.

rclone copy image01.png nine-cz42:my-bucket

Achtung Wegen eines Bugs muss bei neueren Versionen von rclone noch das Flag --s3-no-check-bucket angegeben werden.

Oder Sie können ein lokales Verzeichnis mit dem Object Storage synchronisieren:

rclone sync backup-dir nine-cz42:mybucket

restic

restic ist eine ausserordentliche Backup Lösung, die einfach zu bedienen ist und über sehr gute Deduplizierung verfügt.

Achtung! Bei älteren Versionen von restic kann ein Problem mit den Länderregionen-Settings auftreten. Bitte verwenden Sie Version ab v0.12.0 und aufwärts.

Ähnlich wie bei anderen Tools müssen als erstes die s3 Variablen definiert werden. Dies kann mittels Umgebungsvariablen gesetzt werde oder über Command Line Parameter.
Im folgenden Beispiel verwenden wir Umgebungsvariablen, da diese in der Regel praktischer sind:

Wir definieren die folgenden Variablen in der Konfigurationsdatei: ~/my_backup/restic.conf

export AWS_ACCESS_KEY_ID="6aaf50b17357446bb1a25a6c93361569"
export AWS_SECRET_ACCESS_KEY="fcf1c9c6bc5c4384a4e0dbff99d3cc52"
export AWS_DEFAULT_REGION='nine-cz42'
export RESTIC_REPOSITORY="s3:https://cz42.objectstorage.nineapis.ch/bucket-etj4mwciyzuv"
export RESTIC_PASSWORD="SUPER-SECURE-PASSWORD"

Anders als bei anderen Tools arbeitet restic mit Repositories, daher müssen wir anfänglich ein solches erstellen. Dafür müssen wir die im vorherigen Schritt definierten Umgebungsvariablen laden:

$ source ~/my_backup/restic.conf

Nun kann das Repository initialisiert werden:

$ restic init

Jetzt ist alles bereit um Backups anzulegen:

$ restic backup /home/www-data/this_should_be_backuped

Um zu prüfen, was für Backups bereits bestehen:

$ restic snapshots
repository ff06b869 opened successfully, password is correct
ID        Time                 Host             Tags        Paths
-------------------------------------------------------------------------------------------------------------------
bb689eb9  2021-07-16 11:45:27  mysuperserver              /home/www-data/this_should_be_backuped.bin
-------------------------------------------------------------------------------------------------------------------
1 snapshots

Ein Backup Vorgang erstellt einen Snapshot.
Ältere Snapshots können wie folgt gelöscht werden:

$ restic forget bb689eb9 --prune

Um ältere Snapshots nicht manuel löschen zu müssen, kann dies mit Retention Policies automatisiert werden:

$ restic forget --keep-daily 30 --keep-weekly 4 --keep-monthly 12 --keep-yearly 10 --prune

Das hier dargestellte Beispiel ist eine sehr simple Anwendung von restic für das Sichern eines Ordners. Das Tool ist zu weitaus mehr fähig und bietet eine Vielzahl von zusätzlichen Optionen. Sie finden unter folgendem Link detaillierte Dokumentationen der Funktionen:

https://restic.readthedocs.io/en/stable/040_backup.html

Haben Sie die gewünschten Informationen nicht gefunden?

Kontaktieren Sie unseren Support:

+41 44 637 40 40 Support Portal support@nine.ch