इस पेज पर Cloud Firestore के शेड्यूल किए गए बैकअप की सुविधा को इस्तेमाल करने का तरीका बताया गया है. अपने डेटा को ऐप्लिकेशन-लेवल के डेटा खराबी या गलती से डेटा मिटाए जाने से सुरक्षित रखने के लिए बैकअप का उपयोग करें.
बैकअप की मदद से आप बैकअप शेड्यूल कॉन्फ़िगर कर सकते है, ताकि किसी खास डेटाबेस के रोज़ या हर हफ़्ते का बैकअप लिया जा सके. इसके बाद आप डेटा को नए डेटाबेस में वापस लाने के लिए इन बैकअप का इस्तेमाल कर सकते हैं.
बैकअप के बारे में जानकारी
बैकअप, किसी भी समय डेटाबेस की एक संगत कॉपी होती है. बैकअप में, उस समय का सभी डेटा और इंडेक्स कॉन्फ़िगरेशन शामिल होते हैं. बैकअप में, डेटाबेस में मौजूद लाइव स्ट्रीम में लगने वाले समय की नीतियां शामिल नहीं होती हैं. बैकअप, सोर्स डेटाबेस में मौजूद जगह पर होता है.
बैकअप को रखरखाव के लिए कॉन्फ़िगर किया जा सकता है. इन्हें तब तक सेव रखा जाता है, जब तक डेटा के रखरखाव की समयसीमा खत्म नहीं हो जाती या जब तक बैकअप मिटाया नहीं जाता. सोर्स डेटाबेस को मिटाने से, उससे जुड़े बैकअप अपने-आप नहीं मिटते.
Cloud Firestore किसी डेटाबेस से जुड़े बैकअप और बैकअप शेड्यूल से जुड़ा मेटाडेटा सेव करता है. Cloud Firestore इस मेटाडेटा को तब तक बनाए रखता है, जब तक डेटाबेस के सभी बैकअप की समयसीमा खत्म नहीं हो जाती या उन्हें मिटा नहीं दिया जाता.
बैकअप लेने या बनाए रखने से, आपके लाइव डेटाबेस में पढ़ने या लिखने की परफ़ॉर्मेंस पर कोई असर नहीं पड़ता.
शुल्क
बैकअप का इस्तेमाल करने पर, आपसे यह शुल्क लिया जाता है:
- हर बैकअप के लिए इस्तेमाल की गई स्टोरेज.
- डेटा वापस लाने की कार्रवाई के लिए, बैकअप के साइज़ के आधार पर आपसे शुल्क लिया जाता है.
ज़्यादा जानकारी और किराये की सटीक जानकारी के लिए, कीमत पेज देखें.
वेब कंटेनर इंस्टॉल करने से पहले
इस सुविधा के लिए, ब्लेज़ प्राइसिंग प्लान की ज़रूरत होती है.ज़रूरी भूमिकाएं
बैकअप और बैकअप शेड्यूल को मैनेज करने की अनुमतियां पाने के लिए, अपने एडमिन से पहचान और ऐक्सेस मैनेजमेंट की इनमें से कोई एक या ज़्यादा भूमिकाएं देने का अनुरोध करें:
roles/datastore.owner
: Cloud Firestore डेटाबेस का पूरा ऐक्सेसनीचे दी गई भूमिकाएं भी उपलब्ध हैं, लेकिन Google Cloud Platform कंसोल में दिखाई नहीं देती हैं. ये भूमिकाएं असाइन करने के लिए, Google Cloud सीएलआई का इस्तेमाल करें:
roles/datastore.backupsAdmin
: बैकअप पढ़ने और लिखने का ऐक्सेसroles/datastore.backupsViewer
: बैकअप लेने के लिए पढ़ने का ऐक्सेसroles/datastore.backupSchedulesAdmin
: बैकअप शेड्यूल के लिए पढ़ने और लिखने का ऐक्सेसroles/datastore.backupSchedulesViewer
: बैकअप शेड्यूल के लिए ऐक्सेस पढ़ने की अनुमतिroles/datastore.restoreAdmin
: वापस लाने की कार्रवाइयां शुरू करने की अनुमतियां
बैकअप शेड्यूल बनाना और उन्हें मैनेज करना
नीचे दिए गए उदाहरणों में बैकअप शेड्यूल सेट अप करने का तरीका बताया गया है. हर डेटाबेस के लिए, रोज़ का एक बैकअप शेड्यूल कॉन्फ़िगर किया जा सकता है. साथ ही, हर हफ़्ते एक बैकअप शेड्यूल भी कॉन्फ़िगर किया जा सकता है. हफ़्ते के अलग-अलग दिनों के लिए, एक से ज़्यादा साप्ताहिक बैकअप शेड्यूल कॉन्फ़िगर नहीं किए जा सकते.
बैकअप के लिए, दिन का सटीक समय कॉन्फ़िगर नहीं किया जा सकता. बैकअप हर दिन अलग-अलग समय पर लिया जाता है. हर हफ़्ते के बैकअप शेड्यूल करने के लिए, हफ़्ते का दिन कॉन्फ़िगर किया जा सकता है, ताकि बैकअप लिया जा सके.
बैकअप के लिए शेड्यूल बनाना
किसी डेटाबेस का बैकअप शेड्यूल बनाने के लिए, gcloud alpha firestore backups schedules create
कमांड या firebase firestore:databases:backups:schedules
कमांड का इस्तेमाल करें.
रोज़ाना बैकअप लेने का शेड्यूल बनाना
Gcloud
रोज़ाना बैकअप लेने का शेड्यूल बनाने के लिए,--recurrence
फ़्लैग को daily
पर सेट करें:
gcloud alpha firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=daily \ --retention=RETENTION_PERIOD
इन्हें बदलें:
- DATABASE_ID: बैक अप लिए जाने वाले डेटाबेस का आईडी. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
पर सेट करें. - RETENTION_PERIOD: इसे 14 हफ़्ते (
14w
) तक की वैल्यू पर सेट करें.
Firebase CLI
रोज़ाना बैकअप लेने का शेड्यूल बनाने के लिए,--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
टाइप के टेराफ़ॉर्म रिसॉर्स के लिए,
रिसॉर्स रेफ़रंस का भी इस्तेमाल किया जा सकता है.
हर हफ़्ते बैकअप लेने का शेड्यूल बनाना
Gcloud
हर हफ़्ते बैकअप लेने का शेड्यूल बनाने के लिए,--recurrence
फ़्लैग को weekly
पर सेट करें:
gcloud alpha firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=weekly \ --retention=RETENTION_PERIOD \ --day-of-week=DAYइन्हें बदलें:
- DATABASE_ID: बैक अप लिए जाने वाले डेटाबेस का आईडी. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
पर सेट करें. - RETENTION_PERIOD: इसे 14 हफ़्ते (
14w
) तक की वैल्यू पर सेट करें. - DAY: बैकअप लेने के लिए हफ़्ते का दिन. इनमें से
किसी एक पर सेट करें:
- रविवार का किराया
SUN
- सोमवार का किराया
MON
- मंगलवार का
TUE
- बुधवार का
WED
- गुरुवार का
THU
- शुक्रवार का
FRI
- शनिवार का
SAT
- रविवार का किराया
Firebase CLI
हर हफ़्ते बैकअप लेने का शेड्यूल बनाने के लिए,--recurrence
फ़्लैग को WEEKLY
पर सेट करें:
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
टाइप के टेराफ़ॉर्म रिसॉर्स के लिए,
रिसॉर्स रेफ़रंस का भी इस्तेमाल किया जा सकता है.
बैकअप शेड्यूल की सूची बनाएं
किसी डेटाबेस के सभी बैकअप शेड्यूल को सूची में शामिल करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups schedules list
निर्देश का इस्तेमाल करें.
gcloud alpha firestore backups schedules list \ --database='DATABASE_ID'DATABASE_ID को डेटाबेस के आईडी से बदलें. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
का इस्तेमाल करें.
Firebase CLI
firebase firestore:backups:schedules:list
निर्देश का इस्तेमाल करें.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'DATABASE_ID को डेटाबेस के आईडी से बदलें. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
का इस्तेमाल करें.
बैकअप शेड्यूल के बारे में बताएं
बैकअप शेड्यूल के बारे में जानकारी पाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups schedules describe
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_IDये बदलें:
- DATABASE_ID: बैक अप लिए जाने वाले डेटाबेस का आईडी. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
पर सेट करें. - BACKUP_SCHEDULE_ID: बैकअप शेड्यूल का आईडी. सभी बैकअप शेड्यूल की सूची बनाकर, हर बैकअप शेड्यूल का आईडी देखा जा सकता है.
बैकअप लेने का शेड्यूल अपडेट करना
बैकअप शेड्यूल के रखरखाव की अवधि अपडेट करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups schedules update
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups schedules update \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID \ --retention=RETENTION_PERIODइन्हें बदलें:
- DATABASE_ID: बैक अप लिए जाने वाले डेटाबेस का आईडी. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
पर सेट करें. - BACKUP_SCHEDULE_ID: बैकअप शेड्यूल का आईडी. सभी बैकअप शेड्यूल की सूची बनाकर, हर बैकअप शेड्यूल का आईडी देखा जा सकता है.
- RETENTION_PERIOD: इसे 14 हफ़्ते (
14w
) तक की वैल्यू पर सेट करें.
Firebase CLI
firebase firestore:backups:schedules:update
कमांड का इस्तेमाल करें:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIODइन्हें बदलें:
- BACKUP_SCHEDULE: बैकअप शेड्यूल के लिए पूरा संसाधन नाम. सभी बैकअप शेड्यूल की सूची बनाते समय, हर बैकअप शेड्यूल का नाम देखा जा सकता है.
- RETENTION_PERIOD: इसे 14 हफ़्ते (
14w
) तक की वैल्यू पर सेट करें.
आपके पास बैकअप शेड्यूल के रखरखाव की अवधि को अपडेट करने का विकल्प होता है. हालांकि, इसके बार-बार होने का विकल्प अपडेट नहीं किया जा सकता. अगर आपको बार-बार होने वाले बैकअप के लिए कोई दूसरा शेड्यूल चाहिए, तो पुराना बैकअप शेड्यूल मिटा दें.
बैकअप शेड्यूल मिटाना
बैकअप शेड्यूल मिटाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups schedules delete
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups schedules delete \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_IDइन्हें बदलें:
- DATABASE_ID: बैक अप लिए जाने वाले डेटाबेस का आईडी. डिफ़ॉल्ट डेटाबेस के लिए,
'(default)'
पर सेट करें. - BACKUP_SCHEDULE_ID: बैकअप शेड्यूल का आईडी. सभी बैकअप शेड्यूल की सूची बनाकर, हर बैकअप शेड्यूल का आईडी देखा जा सकता है.
Firebase CLI
firebase firestore:backups:schedules:delete
कमांड का इस्तेमाल करें:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULEइन्हें बदलें:
- BACKUP_SCHEDULE: बैकअप शेड्यूल के लिए पूरा संसाधन नाम. सभी बैकअप शेड्यूल की सूची बनाते समय, हर बैकअप शेड्यूल का नाम देखा जा सकता है.
ध्यान दें कि बैकअप शेड्यूल मिटाने से, इस शेड्यूल के ज़रिए पहले से बनाए गए बैकअप नहीं मिटेंगे. निजी डेटा के रखरखाव की अवधि खत्म होने का इंतज़ार करें. इसके अलावा, मैन्युअल तरीके से बैकअप मिटाने के लिए, बैकअप मिटाएं पर जाएं.
बैकअप मैनेज करें
बैकअप की सूची बनाएं
उपलब्ध बैकअप की सूची बनाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups list
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups list \ --format="table(name, database, state)"
--format="table(name, database, state)"
फ़्लैग आउटपुट को
और पढ़ने लायक फ़ॉर्मैट में रखता है.
सिर्फ़ किसी खास जगह के बैकअप को सूची में शामिल करने के लिए, --location
फ़्लैग का इस्तेमाल करें:
gcloud alpha firestore backups list \ --location=LOCATION \ --format="table(name, database, state)"
LOCATION
को Cloud Firestore की किसी जगह के नाम से बदलें.
Firebase CLI
firebase firestore:backups:list
कमांड का इस्तेमाल करें:
firebase firestore:backups:listसिर्फ़ किसी खास जगह के बैकअप को सूची में शामिल करने के लिए,
--location
फ़्लैग का इस्तेमाल करें:
firebase firestore:backups:list \ --location=LOCATION
LOCATION
को Cloud Firestore की जगह के नाम से बदलें.
बैकअप के बारे में बताएं
किसी बैकअप की जानकारी देखने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
Gcloud
gcloud alpha firestore backups describe
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups describe \ --location=LOCATION \ --backup=BACKUP_IDइन्हें बदलें:
- LOCATION: डेटाबेस की लोकेशन.
- BACKUP_ID: बैकअप का आईडी. सभी बैकअप की सूची बनाने पर, आपको हर बैकअप का आईडी दिख सकता है.
Firebase CLI
firebase firestore:backups:get
कमांड का इस्तेमाल करें:
firebase firestore:backups:get BACKUPइन्हें बदलें:
- BACKUP: किसी बैकअप संसाधन का पूरा नाम. सभी बैकअप की सूची बनाते समय, हर बैकअप का नाम देखा जा सकता है.
बैकअप हटाएं
Gcloud
gcloud alpha firestore backups delete
कमांड का इस्तेमाल करें:
gcloud alpha firestore backups delete \ --location=LOCATION \ --backup=BACKUP_IDइन्हें बदलें:
- LOCATION: डेटाबेस की लोकेशन.
- BACKUP_ID: बैकअप का आईडी. सभी बैकअप की सूची बनाने पर, आपको हर बैकअप का आईडी दिख सकता है.
Firebase CLI
firebase firestore:backups:delete
कमांड का इस्तेमाल करें:
firebase firestore:backups:delete \ BACKUPइन्हें बदलें:
- BACKUP: किसी बैकअप संसाधन का पूरा नाम. सभी बैकअप की सूची देखने पर, आपको हर बैकअप का नाम दिखेगा.
डेटाबेस के बैकअप से डेटा वापस पाना
डेटा वापस लाने की कार्रवाई, बैकअप से नए Cloud Firestore डेटाबेस में डेटा लिखती है.
डेटा वापस लाने की कार्रवाई शुरू करने के लिए, इनमें से कोई एक तरीका अपनाएं:
Gcloud
gcloud alpha firestore databases restore
कमांड का इस्तेमाल करें:
gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'इन्हें बदलें:
- PROJECT_ID: आपका प्रोजेक्ट आईडी.
- LOCATION: डेटाबेस के बैकअप की जगह और वापस लाए गए डेटा के लिए बनाए गए नए डेटाबेस की जगह.
- BACKUP_ID: बैकअप का आईडी. सभी बैकअप की सूची बनाते समय, हर बैकअप का आईडी देखा जा सकता है.
- DATABASE_ID: नए डेटाबेस के लिए एक डेटाबेस आईडी. पहले से इस्तेमाल किए जा रहे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता.
metadata
, name
, और response
कॉम्पोनेंट शामिल होंगे:
metadata: '@type': type.googleapis.com/google.firestore.admin.v1.RestoreDatabaseMetadata backup: projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID database: projects/PROJECT_ID/databases/DATABASE_ID operationState: PROCESSING progressPercentage: completedWork: '20' estimatedWork: '100' startTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID/operations/operation_uuid response: '@type': type.googleapis.com/google.firestore.admin.v1.Database createTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID ...
metadata
फ़ील्ड में एक progressPercentage
कॉम्पोनेंट शामिल होता है. इसमें डेटा वापस लाने की प्रोसेस की अब तक की अनुमानित प्रोग्रेस की जानकारी होती है और operationState
में, डेटा वापस लाने की पूरी स्थिति की जानकारी होती है.
यह जानकारी फिर से पाने के लिए, gcloud firestore operations list
का इस्तेमाल करें:
gcloud firestore operations list --database=DATABASE_IDया ऊपर बताए गए आउटपुट में से
name
फ़ील्ड का इस्तेमाल करके, gcloud firestore operations describe
के साथ:
gcloud firestore operations describe OPERATION_NAME
Firebase CLI
firebase firestore:databases:restore
कमांड का इस्तेमाल करें:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'इन्हें बदलें:
- BACKUP: किसी बैकअप संसाधन का पूरा नाम. सभी बैकअप की सूची बनाते समय, हर बैकअप का नाम देखा जा सकता है.
- DATABASE_ID: नए डेटाबेस के लिए एक डेटाबेस आईडी. पहले से इस्तेमाल किए जा रहे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता.