Можно ли сделать резервную копию Firebase DB? [закрыто]

Интересно, есть ли какие-либо распространенные методы резервного копирования базы данных Firebase. Я обеспокоен тем, что какой-то процесс случайно уничтожил нашу базу данных.

Спасибо!

 ceejayoz12 янв. 2015 г., 22:12
Поиск в Google "резервной копии базы данных Firebase" показывает ряд проектов Github для этого.
 Frank van Puffelen12 янв. 2015 г., 22:23
Вы можете легко получить все данные из вашего Firebase, свернувшисьhttps://<your>.firebaseio.com/.json.

Ответы на вопрос(5)

«Экспорт данных» для каждого проекта, поэтому теперь вы можете создавать резервные копии своих данных одним нажатием кнопки!

Я искал способы управлять командой каждую ночь. Мое решение:
1) создал вычислительный движок (в основном виртуальную машину) в Google Cloud. Возможно, вы знакомы с EC2, если вы из мира AWS.
2) Написал простой хрен, как то так

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

Я уверен, что может быть более простой способ сделать это всвободно сам уровень. Как использовать облачные функции.

 Martin Zeitler09 мая 2017 г., 09:06
просто добавили ссылку для автоматического резервного копирования, что может быть так "проще".

который использует 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 Cloud Storage Bucket

...идти кFirebase Console ->Realtime Database -> и нажмите вкладкуРезервные копии.

. Таким образом, хотя сохранение ваших собственных резервных копий может быть полезным, это не обязательно.

Чтобы создать свои собственные резервные копии, вы можете просто свернуть данные:

curl https://<instance>.firebaseio.com/.json?format=export

Обратите внимание, что для нескольких гигабайт данных это замедлит работу и на короткое время заблокирует доступ для чтения. В этом случае было бы лучше разделить резервные копии и работать с меньшими порциями.мелкий параметр здесь можно помочь, предоставив список ключей для любого заданного пути в Firebase, без необходимости сначала извлекать данные.

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

Как уже упоминалось ранее, для этого есть также несколько библиотек GitHub, и инкрементные резервные копии практичны с некоторой креативностью и рабочим потоком в реальном времени SDK.

 Gal Bracha10 авг. 2018 г., 12:33
Смотрите мой ответ выше. Firebase Firestore теперь поддерживает его изначально.
 Pier13 сент. 2016 г., 06:42
Как войти в систему с помощью CURL?
 Kato11 сент. 2018 г., 04:28
Аутентификация через REST API описана в документе и возможно.
 pjco02 июн. 2015 г., 18:30
Справедливо, если вы пояснили, как можно восстановить ежедневную резервную копию, я лично думаю, что это может улучшить ответ. Приветствия.
 Aman Jain28 июл. 2017 г., 09:14
@Kato при резервном копировании данных из firebase возвращает {"error": "Внутренняя ошибка сервера". } request: curl https: // {URL}? format = export -o backup.db
 Kato17 июн. 2016 г., 21:31
Это все та же база данных, и мы все еще Firebase. Интеграция с GCP и добавление дополнительных функций не требовали устранения здравого смысла. У нас все еще есть резервные копии аварийного восстановления, а такжеЧастные резервные копиии мы по-прежнему предоставляем их вам по мере необходимости.
 mrtnmgs03 сент. 2018 г., 12:23
Я сомневаюсь, что такая аутентификация возможна, поэтому это решение не будет работать, если вся база данных не будет доступна для чтения всем, что может быть нецелесообразно во многих случаях ...
 Kato02 июн. 2015 г., 01:24
Ваше отрицательное мнение отмечено. Хорошего дня.
 Hardik Sondagar22 февр. 2016 г., 07:04
Спасибо @kato за этот ответ. Я использовал это с nodejs для ежедневного резервного копирования.github.com/hardiksondagar/firebase-backup, Еще раз спасибо :-)
 Lloyd Banks16 июн. 2016 г., 05:35
Это все еще так на сегодняшний день (после перехода на Google Cloud)? Так что, если бы кто-нибудь сегодня перебрал и удалил всю мою БД, я мог бы послать поддержку Firebase по электронной почте и восстановить ли ее состояние прошлой ночью? На сколько дней возвращается внутренняя резервная копия Firebase?
 pjco01 июн. 2015 г., 17:32
Пояснение: кажется, что автоматическое резервное копирование доступно только для плана "Костер" и выше в настоящее время.firebase.com/blog/...
 pjco01 июн. 2015 г., 20:01
Вы говорите, что поддерживаете ихвнутренне? Потому что это не то же самое. Обращение в службу поддержки для восстановления резервной копии - это то, что вы должны уточнить в своем сообщении .... если я не пропустил некоторые функции, в этом случае, пожалуйста, укажите на это. Ваш ответ, как написано, вводит в заблуждение.
 Kato02 июн. 2015 г., 18:23
Здесь нет ничего обманчивого или нечестного в ответе. Это объясняет, как создавать свои собственные резервные копии, о чем и шла речь. Он отмечает, что Firebase обеспечивает резервное копирование данных. На момент написания ответа частных резервных копий не существовало. Ваше мнение отмечено, и я учел это. Я ценю обратную связь. Не стесняйтесь опубликовать свой собственный ответ, если вы недовольны этим. Никаких обид. Никаких отношений не требуется.
 pjco02 июн. 2015 г., 01:37
Только отрицательно, потому что вы не даете полный ответ, я бы с радостью изменил бы его, если бы вы не уклонились от вопроса с причудливыми небольшими комментариями. Я пришел к этому вопросу в поисках ответа и все еще интересуюсь, в чем разница между частными резервными копиями и тем, что вы описываете. Почему ты не можешь просто сказать? Вы действительно дьявольский евангелист в firebase? (Вы ведете себя ужасно непрофессионально).
 Kato01 июн. 2015 г., 19:47
Неправильно. Вы имеете в виду частные резервные копии, которые помещаются в корзину GCS или S3. Как отмечалось в моем ответе, Firebase ежедневно выполняет резервное копирование всех экземпляров для всех планов, включая бесплатные.
 Piyush Soni07 июн. 2017 г., 19:54
@Kato: Ответ остается в силе на сегодня, в июне 2017 года? Потому что изэтот Похоже, что «автоматические ежедневные резервные копии» доступны только для плана «Blaze», но не для бесплатного плана.

Firebase Firestore используя Cloud Firestore управляемый сервис экспорта и импорта

Вы делаете это путем:

Создайте корзину Cloud Storage для вашего проекта:

Настроитьgcloud для вашего проекта с использованиемgcloud config set project [PROJECT_ID]

ЭКСПОРТ

Экспортировать все позвонив по телефонуgcloud alpha firestore export gs://[BUCKET_NAME] Или жеЭкспорт определенной коллекции с помощьюgcloud alpha firestore export gs://[BUCKET_NAME] --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]'

ИМПОРТИРОВАТЬ

Импортировать все позвонив по телефонуgcloud alpha firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ где [BUCKET_NAME] и [EXPORT_PREFIX] указывают на местоположение ваших файлов экспорта. Например -gcloud alpha firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

Импорт определенной коллекции по телефону:gcloud alpha firestore import --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]' gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

Полные инструкции доступны здесь:https://firebase.google.com/docs/firestore/manage-data/export-import

 Gal Bracha10 авг. 2018 г., 12:32
Спасибо. @MichaelDodd Я добавил больше информации. Посмотрите, будет ли это более полезным сейчас.
 aaronvargas17 июн. 2019 г., 20:40
Можете ли вы показать, как запланировать это с помощью Firebase Cron?firebase.googleblog.com/2019/04/...
 Michael Dodd10 авг. 2018 г., 12:07
Не могли бы вы расширить этот ответ, включив некоторые ключевые функции, упомянутые на этой странице?в самом ответе? Как бы то ни было, если URL-адрес изменится или уменьшится, этот ответ станет бесполезным.

Ваш ответ на вопрос