Wenn du hier gelandet bist, weißt du vermutlich schon, wie wichtig es ist, regelmäßig Backups von MongoDB-Datenbanken zu erstellen, um Datenverluste zu vermeiden. Das Hauptproblem für viele Personen ist die Entscheidung, wo diese Backups aufbewahrt werden sollen, insbesondere wenn es sich um größere Datenbanken handelt, die viel Speicherplatz benötigen. Object Storage ist aufgrund seiner Skalierbarkeit und Kosteneffizienz eine sehr empfehlenswerte Lösung.
In diesem Artikel wird gezeigt, wie du mit Hilfe der Kommandozeile Backups deiner MongoDB-Datenbank durchführst und sie im Contabo S3-kompatiblen Object Storage speicherst. Dies ist möglich, weil Contabo Object Storage mit dem Amazon Web Services Command Line Interface (AWS CLI) kompatibel ist.
Die Anleitung ist deutlich kürzer als andere online verfügbare Anleitungen. Das liegt an der einfachen Konfiguration von Contabo Object Storage mit AWS CLI. Außerdem ermöglicht die S3-Kompatibilität eine einfache Übertragung von Sicherungsdateien von einem Linux-Server auf Object Storage. Wenn du Contabo Object Storage noch nicht kennst, kannst du mehr darüber erfahren, indem du hier klickst.
Um ein Backup deiner MongoDB-Datenbank zu erstellen, sind die folgenden Dinge erforderlich:
Vorraussetzung/Vorbereitung
Um ein Backup deiner MongoDB-Datenbank zu erstellen, benötigst du Folgendes:
- Einen S3-kompatiblen Object Storage
- Deinen Access Key
- Deinen Secret Key
- Deine S3-URL
- AWS CLI, das bereits auf deinem Server installiert (und konfiguriert) ist, auf dem sich die MongoDB Datenbank befindet.
Wenn du Hilfe bei der Installation und Konfiguration von AWS CLI auf deinem Server benötigst, kannst du dich auf die Dokumentation beziehen.
Erstellen eines lokalen Backups deiner MongoDB Datenbank
Um die Sicherung deiner MongoDB-Datenbank auf deinen Object Storage zu übertragen, musst du zunächst ein lokales Backup erstellen. Glücklicherweise lässt sich dies mit einem eingebauten Befehl von MongoDB durchführen:
mysqldump -u [Benutzername] -p[Passwort] [Datenbankname] > backup.sql
Die Dauer dieses Prozesses hängt von der Größe deiner Datenbank ab. Ersetze bitte [username] und [password] durch die Anmeldedaten für deine MongoDB-Instanz und [database_name] durch den Namen der Datenbank, die du sichern willst. Der Dateiname „backup.sql“ steht für den Namen der Backup-Datei, aber du kannst auch einen anderen Namen wählen, wenn du das möchtest.
Backup auf Object Storage hochladen
Verwende den folgenden Befehl, um Dein lokal erstelltes Backup Deiner Datenbank zu Contabo Object Storage zu übertragen:
aws --profile eu2 --region default --endpoint-url [deine_s3_url] s3 cp [name_deiner_backup_datei] s3://[bucket_name]
Regelmäßige Backups einrichten mit Cron
Um regelmäßige Backups für eine bestimmte Datenbank einzurichten, musst du folgende zwei Dinge tun:
1. Erstellung eines Shell Scripts
Der erste Schritt besteht darin, ein Shell-Skript zu erstellen, das eine lokale Sicherung der angegebenen Datenbank erzeugt und diese anschließend mit AWS CLI an Contabo Object Storage überträgt.
Um dieses Skript zu erstellen, verwende den folgenden Befehl:
nano database-to-os.sh
Und füge den folgenden Inhalt ein:
#!/bin/bash
mysqldump -u [benutzername] -p[passwort] [datenbank_name] > backup.sql
aws --profile eu2 --region default --endpoint-url [deine_s3_url] s3 cp [name_deiner_backup_datei] s3://[bucket_name]
Speicher das Script mit [STRG] + O ab und verlasse den Editor mit [STRG] + X
Mache das Script nun mit folgendem Befehl ausführbar:
chmod +x database-to-os.sh
2. Crontab-File bearbeiten
Öffne nun die Crontab-Datei, in der Du die Backups mit diesem Befehl planen kannst:
crontab -e
Und füge den folgenden Inhalt ein:
0 3 * * * /[Pfad_zum_Skript]/databse-to-os.sh
Mit diesem Script wird jeden Tag um 3:00 Uhr nachts eine Sicherung deiner Datenbank durchgeführt. Wenn Du einen anderen Zeitplan wünscht, änder einfach den eingefügten Inhalt ab. Weitere Informationen über die Syntax von Cron findest Du in der Datei selbst.
Fazit
Zusammenfassend lässt sich sagen, dass das Sichern von MongoDB-Datenbanken im Object Storage mit AWS CLI eine unkomplizierte und effektive Methode ist, die wertvolle Daten zusätzlich absichert. Durch die Verwendung der AWS CLI und der in diesem Artikel bereitgestellten Befehle kannst du den Sicherungsprozess effizient automatisieren, regelmäßige Sicherungen planen und die Sicherungen sicher im Object Storage speichern.