| यह Firestore के स्टैंडर्ड वर्शन और 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) से किसी ऐसे डेटाबेस में डेटा वापस लाया जाता है जो इस तरह के डेटा के साथ काम नहीं करता, तो यह डेटा काम नहीं आएगा. इसलिए, इसे बैकअप से हटा दिया जाता है.
डेटा वापस पाने के बाद क्या करना चाहिए
डेटा वापस पाने के बाद, आपको ये काम करने चाहिए:
पुष्टि करें कि आपके नए डेटाबेस पर सही आईएएम कंट्रोल लागू किए गए हैं.
अगर आपने पहले टीटीएल नीतियों का इस्तेमाल किया था, तो उन्हें नए डेटाबेस पर फिर से लागू करें. टीटीएल नीतियां, बैकअप में शामिल नहीं होती हैं. साथ ही, ये रीस्टोर किए गए डेटाबेस पर अपने-आप लागू नहीं होती हैं.