作者:mobiledu2502915037 | 来源:互联网 | 2023-05-27 10:25
想知道备份firebase数据库是否有任何常见做法.我担心的是一些过程意外地消灭了我们的数据库.
谢谢!
1> Kato..:
截至本期问题,Firebase每天都会备份所有实例.因此,尽管保留自己的备份可能仍然有用,但这并不重要.
要创建自己的备份,您可以简单地卷曲数据:
curl https://.firebaseio.com/.json?format=export
请注意,对于数千兆字节的数据,这会减慢速度并在短时间内锁定读取访问权限.在这种情况下,最好将备份分块并使用较小的部分.该浅参数可以帮助这里通过提供在火力地堡任何给定的路径密钥列表,无需先获取数据.
curl https://.firebaseio.com/.json?shallow=true
如前所述,还有几个GitHub库可用于此,增量备份是实用的,具有一些创造性和实时SDK上的工作线程.
这里的答案没有误导或不诚实.它解释了如何创建自己的备份,这就是问题所在.它指出Firebase提供数据备份.截至撰写答案时,私人备份并不存在.你的意见得到了注意,我已经考虑过了.我很感激反馈.如果你对这个问题不满意,请随意发表自己的答案.别往心里放.不需要任何态度.
不正确.您指的是推送到GCS或S3存储桶的私有备份.如我的回答所述,Firebase每天为所有计划备份所有实例,包括免费.
你的downvote被注意到了.祝你有美好的一天.
@Kato:截至2017年6月,答案仍然有效吗?因为从[this](https://firebase.google.com/docs/database/web/backups)链接看来,"自动每日备份"似乎仅适用于"Blaze"计划,而不是免费计划.
因为你没有给出完整的答案,所以只是投票,如果你没有用狡猾的小评论回避这个问题,我会很高兴地改变它.我来到这个问题寻找答案,我仍然想知道私人备份和你描述的内容之间有什么区别.为什么你不能说?你真的是firebase的开发者吗?(你表现得非常不专业).
2> c.fogelklou..:
现在,每个项目的Web界面的数据页面上都有"导入数据"和"导出数据"按钮,因此您现在可以通过单击按钮来备份数据!
3> Martin Zeitl..:
就在昨天写了一个shell脚本,它利用了firebase-tools(npm install -g firebase-tools
),以便在我的常规备份中包含这些数据库转储cronjob
:
#!/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)"
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
更新:同时,可以自动备份到Google云端存储分区
...转到Firebase Console
- > Realtime Database
- >并单击选项卡备份.