2015-01-12 6 views
17

Ich frage mich, ob es übliche Praktiken gibt, eine Firebase-Datenbank zu sichern. Meine Sorge ist ein Prozess, der versehentlich unsere Datenbank auslöscht.Kann Firebase DB gesichert werden?

Danke!

+2

Googeln "Firebase DB Backup" zeigt eine Reihe von Github-Projekten, um dies zu tun. – ceejayoz

+3

Sie können alle Daten einfach aus Ihrem Firebase herausholen, indem Sie 'https: // .firebaseio.com/.json' einrollen. –

+1

Siehe http://stackoverflow.com/questions/15079436/export-firebase?rq=1 und http: // stackoverflow.com/questions/15549299/how-to-migrieren-data-settings-from-one-firebase-toanders/15551711 # 15551711 –

Antwort

28

Zum Zeitpunkt dieser Frage sichert Firebase alle Instanzen täglich. Obwohl Ihre eigenen Backups immer noch nützlich sein können, ist dies nicht unbedingt notwendig.

Ihre eigenen Backups erstellen, geben Sie einfach die Daten locken können:

für mehrere Gigabyte an Daten
curl https://<instance>.firebaseio.com/.json?format=export 

Beachten Sie, dass diese Dinge verlangsamen wird nach unten und verriegeln Lesezugriff für einen kurzen Zeitraum. Es wäre in diesem Fall besser, die Backups zu zerkleinern und mit kleineren Portionen zu arbeiten. Die shallow parameter kann hier helfen, indem Sie eine Liste der Schlüssel für jeden gegebenen Pfad in Firebase bereitstellen, ohne die Daten zuerst abrufen zu müssen.

curl https://<instance>.firebaseio.com/.json?shallow=true 

Wie bereits erwähnt, gibt es auch mehr verfügbar GitHub Libs für diesen und inkrementelle Backups mit etwas Kreativität praktisch sind und ein Worker-Thread auf dem SDK in Echtzeit.

+0

Klarstellung: Es scheint, die automatische Sicherung ist nur für den "Bonfire" -Plan und darüber derzeit https : //www.firebase.com/blog/2015-03-05-private-backups-for-firebase-data.html – pjco

+4

Falsch. Sie beziehen sich auf private Backups, die an einen GCS- oder S3-Bucket gesendet werden. Firebase sichert alle Instanzen täglich für alle Pläne, einschließlich der kostenlosen, wie in meiner Antwort erwähnt. – Kato

+0

Willst du sagen, dass du sie intern *** absicherst? Weil das nicht das Gleiche ist. Sich mit dem Support in Verbindung setzen zu müssen, um eine Sicherungskopie wiederherzustellen, sollten Sie in Ihrem Beitrag klären. Wenn ich nicht einige Funktionen verpasse, sollten Sie in diesem Fall darauf hinweisen. Ihre Antwort ist irreführend. – pjco

9

Jetzt gibt es für jedes Projekt auf der Datenseite der Weboberfläche die Schaltflächen "Daten importieren" und "Daten exportieren", so dass Sie Ihre Daten jetzt per Knopfdruck sichern können!

Import and Export buttons

+0

Die letzten einfachen und hilfreich! – Shruti

4

gerade gestern schrieb ein Shell-Skript, das Feuerbasis-Tools (npm install -g firebase-tools), um diese Datenbank-Dumps in meiner regelmäßigen Backup cronjob enthalten zu haben, nutzt:

#!/bin/bash 
# $1 is the Firebase projectId. 
# $2 is the destination directory. 
# example usage: cron_firebase.sh project-12345 /home/backups/firebase 
# currently being triggered by /etc/cron.hourly/firebase-hourly.cron 
PROJECTID=$1 
DESTINATION=$2 
FIREBASE="$(which firebase)" 
TIMESTAMP="$(date +"%Y-%m-%d %H:%M")" 
NOW="$(date +"%Y-%m-%d_%H%M")" 
cd $DESTINATION 
$FIREBASE --project $PROJECTID database:get/> ./$PROJECTID.$NOW.json 
tar -pczf $PROJECTID.$NOW.tar.gz ./$PROJECTID.$NOW.json && rm ./$PROJECTID.$NOW.json 

Update : in der Zwischenzeit kann man automatische Sicherung zu Google Cloud Storage Bucket

... gehen Sie zu Firebase Console ->Realtime Database -> und klicken Sie auf die Registerkarte Backups.

1

Nur um @ Katos Antwort mit Curl zu erweitern.

Ich suchte nach Möglichkeiten, den Befehl jede Nacht auszuführen. Meine Lösung:
1) erstellt eine Compute-Engine (im Grunde eine VM) in Google Cloud. Sie sind vielleicht mit EC2 vertraut, wenn Sie aus der AWS-Welt kommen.
2) Schrieb ein einfaches cronjob, so etwas wie diese

0 23 * * * /usr/bin/curl https://yourdatabaseurl.com/.json?format=export -o /tmp/backuptest_`date +\%d\%m\%y`.bk

Ich bin sicher, es könnte ein einfacher Weg, dies selbst innerhalb des frei Tieres zu tun. Wie mit Cloud-Funktionen.

+0

hat gerade den Link für automatisierte Backups hinzugefügt, der "einfacher" sein könnte. –

Verwandte Themen