| यह Firestore Standard वर्शन और Firestore Enterprise वर्शन के लिए ज़रूरी है. |
इस पेज पर, Cloud Firestore के लिए शेड्यूल किए गए बैकअप की सुविधा को इस्तेमाल करने का तरीका बताया गया है. बैकअप का इस्तेमाल करके, अपने डेटा को ऐप्लिकेशन-लेवल पर डेटा के खराब होने या गलती से डेटा मिटने से बचाएं.
बैकअप की सुविधा से, बैकअप शेड्यूल कॉन्फ़िगर किए जा सकते हैं. इससे, चुने गए डेटाबेस का रोज़ या हर हफ़्ते बैकअप लिया जा सकता है. इसके बाद, इन बैकअप का इस्तेमाल करके, डेटा को नए डेटाबेस में वापस लाया जा सकता है.
बैकअप के बारे में जानकारी
बैकअप, किसी समय पर डेटाबेस की एक जैसी कॉपी होती है. बैकअप में उस समय का सारा डेटा और इंडेक्स कॉन्फ़िगरेशन शामिल होता है.
बैकअप में, डेटाबेस की टीटीएल नीतियां शामिल नहीं होती हैं. बैकअप उसी जगह पर सेव होता है जहां सोर्स डेटाबेस होता है.बैकअप को सेव रखने की अवधि को कॉन्फ़िगर किया जा सकता है. बैकअप को तब तक सेव रखा जाता है, जब तक उसे सेव रखने की अवधि खत्म नहीं हो जाती या उसे मिटा नहीं दिया जाता. सोर्स डेटाबेस को मिटाने से, उससे जुड़े बैकअप अपने-आप नहीं मिटते.
Cloud Firestore, किसी डेटाबेस से जुड़े बैकअप और बैकअप शेड्यूल का मेटाडेटा सेव करता है. Cloud Firestore इस मेटाडेटा को तब तक सेव रखता है, जब तक डेटाबेस के सभी बैकअप की समयसीमा खत्म नहीं हो जाती या उन्हें मिटा नहीं दिया जाता.
बैकअप बनाने या उन्हें सेव रखने से, आपके लाइव डेटाबेस में डेटा को पढ़ने या लिखने की परफ़ॉर्मेंस पर कोई असर नहीं पड़ता.
लागत
बैकअप की सुविधा इस्तेमाल करने पर, आपसे इन चीज़ों के लिए शुल्क लिया जाता है:
- हर बैकअप के लिए इस्तेमाल किया गया स्टोरेज.
- डेटा वापस पाने के लिए, आपसे बैकअप के साइज़ के हिसाब से शुल्क लिया जाता है.
ज़्यादा जानकारी और सटीक दरों के लिए, कीमत पेज देखें.
शुरू करने से पहले
इस सुविधा का इस्तेमाल करने के लिए, ब्लेज़ प्लान लेना ज़रूरी है.ज़रूरी भूमिकाएं
बैकअप और बैकअप शेड्यूल मैनेज करने के लिए ज़रूरी अनुमतियां पाने के लिए, अपने एडमिन से कहें कि वह आपको पहचान और ऐक्सेस मैनेजमेंट की इनमें से एक या उससे ज़्यादा भूमिकाएं दे:
roles/datastore.owner: Cloud Firestore डेटाबेस का पूरा ऐक्सेसroles/datastore.backupsAdmin: बैकअप को पढ़ने और उनमें बदलाव करने का ऐक्सेसroles/datastore.backupsViewer: बैकअप को पढ़ने का ऐक्सेसroles/datastore.backupSchedulesAdmin: बैकअप शेड्यूल को पढ़ने और उनमें बदलाव करने का ऐक्सेसroles/datastore.backupSchedulesViewer: बैकअप शेड्यूल को पढ़ने का ऐक्सेसroles/datastore.restoreAdmin: डेटा वापस पाने की प्रोसेस शुरू करने की अनुमतियां
बैकअप शेड्यूल बनाना और उन्हें मैनेज करना
यहां दिए गए उदाहरणों में, बैकअप का शेड्यूल सेट अप करने का तरीका बताया गया है. हर डेटाबेस के लिए, रोज़ के बैकअप का ज़्यादा से ज़्यादा एक शेड्यूल और हर हफ़्ते के बैकअप का ज़्यादा से ज़्यादा एक शेड्यूल कॉन्फ़िगर किया जा सकता है. हफ़्ते के अलग-अलग दिनों के लिए, हर हफ़्ते बैकअप लेने के कई शेड्यूल कॉन्फ़िगर नहीं किए जा सकते.
बैकअप लेने के लिए, दिन का सटीक समय कॉन्फ़िगर नहीं किया जा सकता. बैकअप हर दिन अलग-अलग समय पर लिए जाते हैं. हर हफ़्ते बैकअप लेने के शेड्यूल के लिए, बैकअप लेने का दिन कॉन्फ़िगर किया जा सकता है.
बैकअप लेने का शेड्यूल बनाना
बैकअप शेड्यूल बनाने के लिए, इनमें से किसी एक टूल का इस्तेमाल करें.
रोज़ाना बैकअप लेने का शेड्यूल बनाना
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- आपदा के बाद डेटा की बहाली की सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- रोज़ाना चेकबॉक्स को चुनें, डेटा के रखरखाव की अवधि सेट करें, और फिर सेव करें पर क्लिक करें.
Firebase CLI
किसी डेटाबेस के लिए बैकअप शेड्यूल बनाने के लिए,firebase firestore:databases:backups:schedules:create कमांड का इस्तेमाल करें.
रोज़ाना बैकअप लेने का शेड्यूल बनाने के लिए, --recurrence फ़्लैग को DAILY पर सेट करें:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
इनकी जगह ये डालें:
- DATABASE_ID: उस डेटाबेस का आईडी जिसका बैक अप लेना है. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'पर सेट करें. - RETENTION_PERIOD: इसे 14 हफ़्तों (
14w) तक की वैल्यू पर सेट करें.
Terraform
रोज़ाना बैकअप लेने का शेड्यूल बनाने के लिए,google_firestore_backup_schedule संसाधन बनाएं.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
इनकी जगह ये डालें:
- PROJECT_ID: प्रोजेक्ट का आईडी.
- DATABASE_ID: उस डेटाबेस का आईडी जिसका बैक अप लेना है. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'पर सेट करें. - RETENTION_PERIOD_SECONDS: इसे सेकंड में किसी वैल्यू पर सेट करें. इसके बाद, "s" जोड़ें. ज़्यादा से ज़्यादा वैल्यू
8467200s(14 हफ़्ते) हो सकती है.
google_firestore_database टाइप के Terraform रिसॉर्स के लिए, रिसॉर्स रेफ़रंस का भी इस्तेमाल किया जा सकता है.
हर हफ़्ते बैकअप लेने का शेड्यूल बनाना
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- आपदा के बाद डेटा की बहाली की सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- हर हफ़्ते चेकबॉक्स को चुनें. इसके बाद, बैकअप लेने का दिन चुनें, डेटा के रखरखाव की अवधि सेट करें, और फिर सेव करें पर क्लिक करें.
Firebase CLI
हर हफ़्ते बैकअप लेने का शेड्यूल बनाने के लिए,--recurrence फ़्लैग को WEEKLY पर सेट करें और --day-of-week चुनें:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID: उस डेटाबेस का आईडी जिसका बैक अप लेना है. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'पर सेट करें. - RETENTION_PERIOD: इसे 14 हफ़्तों (
14w) तक की वैल्यू पर सेट करें. - DAY: हफ़्ते का वह दिन जिस दिन बैकअप लिया जाना है. इनमें से किसी एक पर सेट करें:
- रविवार के लिए
SUNDAY - सोमवार के लिए
MONDAY - मंगलवार के लिए
TUESDAY - बुधवार के लिए
WEDNESDAY - गुरुवार के लिए
THURSDAY - शुक्रवार के लिए
FRIDAY - शनिवार के लिए
SATURDAY
- रविवार के लिए
Terraform
हफ़्ते के हिसाब से बैकअप शेड्यूल बनाने के लिए,google_firestore_backup_schedule संसाधन बनाएं.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
इनकी जगह ये डालें:
- PROJECT_ID: प्रोजेक्ट का आईडी.
- DATABASE_ID: उस डेटाबेस का आईडी जिसका बैक अप लेना है. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'पर सेट करें. - RETENTION_PERIOD_SECONDS: इसे सेकंड में किसी वैल्यू पर सेट करें. इसके बाद, "s" जोड़ें. ज़्यादा से ज़्यादा वैल्यू
8467200s(14 हफ़्ते) हो सकती है. - DAY: हफ़्ते का वह दिन जिस दिन बैकअप लिया जाना है. इनमें से किसी एक पर सेट करें:
- रविवार के लिए
SUNDAY - सोमवार के लिए
MONDAY - मंगलवार के लिए
TUESDAY - बुधवार के लिए
WEDNESDAY - गुरुवार के लिए
THURSDAY - शुक्रवार के लिए
FRIDAY - शनिवार के लिए
SATURDAY
- रविवार के लिए
google_firestore_database टाइप के Terraform रिसॉर्स के लिए, रिसॉर्स रेफ़रंस का भी इस्तेमाल किया जा सकता है.
बैकअप शेड्यूल की सूची देखना
किसी डेटाबेस के लिए, बैकअप के सभी शेड्यूल की सूची देखने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- इससे आपदा के बाद डेटा की बहाली पेज खुलता है. इस पेज पर, बैकअप के शेड्यूल के बारे में बताया गया है. साथ ही, उपलब्ध बैकअप की सूची दी गई है.
Firebase CLI
firebase firestore:backups:schedules:list कमांड का इस्तेमाल करें.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)' का इस्तेमाल करें.
बैकअप शेड्यूल के बारे में जानकारी देना
बैकअप शेड्यूल की जानकारी पाने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- इससे आपदा के बाद डेटा की बहाली पेज खुलता है. इस पेज पर, बैकअप के शेड्यूल के बारे में बताया गया है. साथ ही, उपलब्ध बैकअप की सूची दी गई है.
gcloud
gcloud firestore backups schedules describe कमांड का इस्तेमाल करें:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: उस डेटाबेस का आईडी जिसका बैक अप लेना है. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'पर सेट करें. - BACKUP_SCHEDULE_ID: बैकअप शेड्यूल का आईडी. बैकअप के सभी शेड्यूल की सूची देखने पर, आपको हर बैकअप शेड्यूल का आईडी दिखेगा.
बैकअप लेने का शेड्यूल अपडेट करना
बैकअप शेड्यूल के डेटा के रखरखाव की अवधि को अपडेट करने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें.
- आपदा के बाद डेटा की बहाली की सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- बैकअप शेड्यूल की सेटिंग में बदलाव करें. इसके बाद, सेव करें पर क्लिक करें.
Firebase CLI
firebase firestore:backups:schedules:update निर्देश का इस्तेमाल करें:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE: बैकअप शेड्यूल के संसाधन का पूरा नाम. बैकअप के सभी शेड्यूल की सूची देखने पर, आपको हर बैकअप शेड्यूल का नाम दिखेगा.
- RETENTION_PERIOD: इसे 14 हफ़्तों (
14w) तक की वैल्यू पर सेट करें.
बैकअप शेड्यूल के रखरखाव की अवधि को अपडेट किया जा सकता है. हालांकि, इसके दोहराव को अपडेट नहीं किया जा सकता. अगर आपको बैकअप के लिए कोई ऐसा शेड्यूल चाहिए जो अलग-अलग समयावधि पर दोहराया जाए, तो पुराने बैकअप शेड्यूल को मिटा दें. इसके बाद, अपनी पसंद के मुताबिक समयावधि के साथ नया बैकअप शेड्यूल बनाएं.
बैकअप शेड्यूल मिटाना
बैकअप का शेड्यूल मिटाने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- आपदा के बाद डेटा की बहाली की सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- बैकअप शेड्यूल की सेटिंग में बदलाव करें. इसके बाद, सेव करें पर क्लिक करें.
Firebase CLI
firebase firestore:backups:schedules:delete निर्देश का इस्तेमाल करें:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE: बैकअप शेड्यूल के संसाधन का पूरा नाम. बैकअप के सभी शेड्यूल की सूची देखने पर, आपको हर बैकअप शेड्यूल का नाम दिखेगा.
ध्यान दें कि बैकअप शेड्यूल को मिटाने से, इस शेड्यूल के तहत पहले से बनाए गए बैकअप नहीं मिटेंगे. बैकअप को अपने-आप मिटने के लिए, डेटा के रखरखाव की अवधि खत्म होने का इंतज़ार किया जा सकता है. इसके अलावा, बैकअप को मैन्युअल तरीके से मिटाने के लिए, बैकअप मिटाना देखें.
बैकअप मैनेज करना
बैकअप की सूची देखना
उपलब्ध बैकअप की सूची देखने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- आपदा के बाद डेटा की बहाली की सेटिंग में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- बैकअप शेड्यूल की सेटिंग में बदलाव करें. इसके बाद, सेव करें पर क्लिक करें.
Firebase CLI
firebase firestore:backups:list निर्देश का इस्तेमाल करें:
firebase firestore:backups:list
--location फ़्लैग का इस्तेमाल करें:
firebase firestore:backups:list \ --location=LOCATION
LOCATION की जगह, Cloud Firestore
की किसी जगह का नाम डालें.
बैकअप के बारे में जानकारी देना
बैकअप की जानकारी देखने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं.
- इससे आपदा के बाद डेटा की बहाली पेज खुलता है. इस पेज पर, बैकअप के शेड्यूल के बारे में बताया गया है. साथ ही, उपलब्ध बैकअप की सूची दी गई है.
Firebase CLI
firebase firestore:backups:get निर्देश का इस्तेमाल करें:
firebase firestore:backups:get BACKUP
- BACKUP: बैकअप का पूरा रिसॉर्स नेम. सभी बैकअप की सूची देखने पर, आपको हर बैकअप का नाम दिखेगा.
बैकअप हटाएं
बैकअप मिटाने के लिए, इनमें से कोई एक तरीका अपनाएं.
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं. इससे आपदा के बाद डेटा की बहाली पेज खुलता है. इस पेज पर, बैकअप के शेड्यूल के बारे में बताया गया है. साथ ही, उपलब्ध बैकअप की सूची दी गई है.
- बैकअप टेबल में, किसी बैकअप की लाइन ढूंढें. इसके बाद, कार्रवाइयां कॉलम में, ज़्यादा देखें() पर क्लिक करें. मिटाएं पर क्लिक करें.
- टेक्स्ट फ़ील्ड का इस्तेमाल करके, कार्रवाई की पुष्टि करें और मिटाएं पर क्लिक करें.
Firebase CLI
firebase firestore:backups:delete निर्देश का इस्तेमाल करें:
firebase firestore:backups:delete \ BACKUP
- BACKUP: बैकअप का पूरा रिसॉर्स नेम. सभी बैकअप की सूची देखने पर, हर बैकअप का नाम देखा जा सकता है.
डेटाबेस बैकअप से डेटा वापस लाना
डेटा वापस पाने की प्रोसेस, बैकअप से डेटा को नए Cloud Firestore डेटाबेस में सेव करती है.
डेटा वापस पाने की प्रोसेस शुरू करने के लिए, इनमें से कोई एक तरीका अपनाएं:
Google Cloud कंसोल
Google Cloud console में, डेटाबेस पेज पर जाएं.
- डेटाबेस की सूची में, डेटाबेस की लाइन ढूंढें. शेड्यूल किए गए बैकअप कॉलम में, बैकअप देखें या सेटिंग में बदलाव करें पर क्लिक करें. यह इस बात पर निर्भर करता है कि बैकअप का शेड्यूल मौजूद है या नहीं. इससे आपदा के बाद डेटा की बहाली पेज खुलता है. इस पेज पर, बैकअप के शेड्यूल के बारे में बताया गया है. साथ ही, उपलब्ध बैकअप की सूची दी गई है.
- बैकअप टेबल में, बैकअप की लाइन ढूंढें. इसके बाद, कार्रवाइयां कॉलम में, ज़्यादा देखें() पर क्लिक करें. Cloud Shell की मदद से वापस लाएं पर क्लिक करें.
-
Cloud Shell पैनल, gcloud CLI कमांड के साथ खुलता है. इससे चुने गए बैकअप से डेटा को वापस लाया जा सकता है. ID_OF_NEW_DATABASE को डेटाबेस के आईडी से बदलें और कमांड चलाएं.
कमांड चलाने पर, कार्रवाई के बारे में ज़्यादा जानकारी वाला जवाब मिलता है. डेटाबेस जल्द ही आपके डेटाबेस की सूची में दिखने लगता है. डेटा वापस पाने की प्रोसेस में कुछ समय लगेगा. डेटाबेस को ऐक्सेस करने से पहले, यह प्रोसेस पूरी होनी चाहिए.
Firebase CLI
firebase firestore:databases:restore निर्देश का इस्तेमाल करें:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP: बैकअप का पूरा रिसॉर्स नेम. सभी बैकअप की सूची देखने पर, आपको हर बैकअप का नाम दिखेगा.
- DATABASE_ID: नए डेटाबेस के लिए डेटाबेस आईडी. किसी ऐसे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता जो पहले से इस्तेमाल में है.
सीमाएं
डेटा वापस लाने की प्रोसेस से, (default) डेटाबेस से App Engine खोज डेटा या ब्लॉब इकाइयां वापस नहीं आती हैं. यह डेटा सिर्फ़ (default) डेटाबेस के लिए मान्य है. अगर (default) से किसी ऐसे डेटाबेस में डेटा वापस लाया जाता है जो इस तरह के डेटा के साथ काम नहीं करता, तो यह डेटा काम नहीं करेगा. इसलिए, इसे बैकअप से हटा दिया जाता है.
डेटा वापस पाने के बाद क्या करना चाहिए
डेटा वापस पाने के बाद, आपको ये काम करने चाहिए:
पुष्टि करें कि आपके नए डेटाबेस पर सही आईएएम कंट्रोल लागू किए गए हैं.
अगर आपने पहले टीटीएल नीतियों का इस्तेमाल किया था, तो उन्हें नए डेटाबेस पर फिर से लागू करें. टीटीएल नीतियां, बैकअप में शामिल नहीं होती हैं. साथ ही, ये रीस्टोर किए गए डेटाबेस पर अपने-आप लागू नहीं होती हैं.