MongoDB-Backups, Atlas inklusive.
DBackup führt mongodump nach Zeitplan aus, gegen einen einzelnen Server, ein Replica Set oder MongoDB Atlas. Es verschlüsselt die Archive mit AES-256-GCM, wenn der Job einen Schlüssel hat, und stellt sie unter einem beliebigen Datenbanknamen wieder her.
- VerbindenDirekt zu cluster0.abcde.mongodb.net
- Dumpmongodump --db app --archive=app.archive --gzip
- VerschlüsselnAES-256-GCM
- HochladenHetzner Object Storage
- Aufbewahren7 täglich, 4 wöchentlich, 12 monatlich
- MeldenDiscord · #backups
- Getestet mit 4.4 und 8.0
- MongoDB 4 bis 8
- mongodb+srv und Seed-Listen
- Atlas und Replica Sets
- Über SSH läuft mongodump auf Ihrem Server
- Direkt oder über SSH (Beta)
- Jede Datenbank für sich
- Wiederherstellung unter beliebigem Namen
So läuft ein MongoDB-Backup
Vier Schritte, jeder mit einem Werkzeug oder Format, das Sie auch selbst nutzen könnten. DBackup führt sie nach Zeitplan aus und meldet sich, wenn einer scheitert.
- 1Dump
mongodump --archive --gzipschreibt ein komprimiertes Archiv pro Datenbank, eines nach dem anderen. - 2Komprimierenmongodump komprimiert das Archiv selbst, also lässt DBackup es, wie es ist, und verschlüsselt es nur.
- 3VerschlüsselnAES-256-GCM mit dem Schlüssel eines Verschlüsselungsprofils, für jeden Dump einzeln. Darin bleibt der Dump, was das Werkzeug geschrieben hat.
- 4AblegenHochgeladen zu einem oder mehreren der 13 Speicherziele, jedes mit eigener Aufbewahrung, von einer einfachen Anzahl bis täglich, wöchentlich, monatlich und jährlich.
Atlas, Replica Sets und einzelne Server
Geben Sie den Host so ein, wie Sie ihn kennen. DBackup macht daraus die passende Verbindung für mongodump.
Die Authentifizierungsdatenbank ist admin, solange Sie keine andere nennen.
cluster0.abcde.mongodb.netSRVEin Atlas-Host wird erkannt und über mongodb+srv verbunden.mongodb+srv://mongo.example.comSRVJeder andere SRV-Eintrag funktioniert, sobald Sie das Schema dazuschreiben.db1:27017,db2:27017,db3:27017Seed-ListeMehrere Hosts werden zu einer Verbindung zum Replica Set.mongoEinzelner ServerEin einzelner Server, mit dem Port in einem eigenen Feld.
Ein Archiv pro Datenbank
Lassen Sie die Auswahl leer, dann listet jeder Lauf die Datenbanken neu auf, ohne admin, config und local. Jede wird einzeln in dasselbe TAR gesichert.
- Stellen Sie eine Datenbank unter neuem Namen wieder her, dann verschiebt mongorestore ihre Collections mit
--nsFromund--nsTo. - Eine Wiederherstellung löscht jede Collection, bevor sie sie zurückschreibt, damit das Ergebnis dem Backup entspricht.
- Benutzer und Rollen liegen in der Datenbank admin, die nicht Teil des Backups ist.
- TARapp-mongodb_2026-10-08_03-00-00.tar301 MB
- { }manifest.json
- DIRdatabases/
- DBapp.archive218 MB
- DBanalytics.archive83 MB
- { }index
$ node dbackup-recover.js --extract app-mongodb_2026-10-08_03-00-00.tar ./restored databases/app$ mongorestore --gzip --archive=./restored/databases/app.archive
Zurückholen ohne DBackup
Jedes Archiv ist das, was mongodump --gzip geschrieben hat. Das Recovery Kit entschlüsselt es, und mongorestore spielt es mit derselben Option zurück.
Das Recovery Kit aus dem Vault besteht aus einem Skript und Ihrem Schlüssel. Es entschlüsselt und entpackt einen Dump und prüft seine SHA-256-Summe, bevor es die Datei schreibt.
Warum wir das so gebaut habenIn fünf Minuten startklar
DBackup ist ein Container. Stellen Sie ihn neben Ihre Datenbank, geben Sie ihm einen Login und legen Sie den ersten Job an.
services:
dbackup:
image: skyfay/dbackup:latest
restart: always
ports:
- "3000:3000"
environment:
- ENCRYPTION_KEY=${ENCRYPTION_KEY} # openssl rand -hex 32
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} # openssl rand -base64 32
- BETTER_AUTH_URL=https://localhost:3000
volumes:
- ./data:/data
mongo:
image: mongo:8
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
Fragen zu MongoDB
Ja. Geben Sie den Host Ihres Clusters ein, etwa cluster0.abcde.mongodb.net, dann verbindet sich DBackup von selbst über mongodb+srv.
Nein. mongodump läuft ohne --oplog, also können Schreibzugriffe während des Dumps nur teilweise erfasst werden. Planen Sie den Job für eine stark genutzte Datenbank in eine ruhige Stunde.
MongoDB 4 bis 8. Das Image bringt die MongoDB Database Tools 100.16 mit, und die Integrationstests laufen gegen 4.4 und 8.0.
Nein. Sie liegen in der Datenbank admin, die DBackup zusammen mit config und local auslässt. Legen Sie die Benutzer auf einem neuen Server an, bevor Sie wiederherstellen.
Ja. Das Recovery Kit holt die Archive heraus, verschlüsselt oder nicht, mit nichts als Node.js. Danach führen Sie mongorestore mit --gzip und --archive aus.
Weitere Datenbanken
Alle IntegrationenIhr erstes MongoDB-Backup läuft heute Nacht.
Ein Container, eine Compose-Datei und ein Job. Kostenlos und Open Source.