इस पेज पर, शेड्यूल किए गए Cloud Firestore बैकअप को इस्तेमाल करने का तरीका बताया गया है सुविधा. ऐप्लिकेशन-लेवल के डेटा से अपने डेटा को सुरक्षित रखने के लिए, बैकअप का इस्तेमाल करना गड़बड़ी या गलती से डेटा मिट जाने की वजह से.
बैकअप की मदद से बैकअप शेड्यूल कॉन्फ़िगर किया जा सकता है, ताकि आप हर दिन या हर हफ़्ते के लिए बैकअप ले सकें . इसके बाद, इन बैकअप का इस्तेमाल करके, डेटा को नए डेटाबेस में वापस लाया जा सकता है.
बैकअप के बारे में जानकारी
बैकअप, किसी तय समय पर डेटाबेस की एक जैसी कॉपी होती है. बैकअप में, उस समय का सभी डेटा और इंडेक्स कॉन्फ़िगरेशन शामिल होते हैं समय पर. बैकअप में, डेटाबेस की डेटा को सेव रखने की समयसीमा से जुड़ी नीतियां शामिल नहीं होती हैं. बैकअप, सोर्स डेटाबेस में मौजूद जगह पर होता है.
बैकअप को निजी डेटा के रखरखाव के लिए कॉन्फ़िगर किया जा सकता है. इन्हें तब तक सेव रखा जाता है, जब तक निजी डेटा के रखरखाव के लिए उसे सेव नहीं किया जाता बैकअप की समयसीमा खत्म होने या बैकअप मिटाने तक. सोर्स डेटाबेस को मिटाने से, उससे जुड़े बैकअप अपने-आप नहीं मिटते.
Cloud Firestore, डेटाबेस से जुड़े बैकअप और बैकअप शेड्यूल का मेटाडेटा सेव करता है. Cloud Firestore में यह मेटाडेटा सेव रहता है डेटाबेस के सभी बैकअप की समयसीमा खत्म होने या उन्हें मिटा दिए जाने तक.
बैकअप बनाने या उन्हें सेव रखने से, आपके लाइव डेटाबेस में डेटा पढ़ने या लिखने की परफ़ॉर्मेंस पर कोई असर नहीं पड़ता.
लागत
बैकअप का इस्तेमाल करने पर, आपसे यह शुल्क लिया जाता है:
- हर बैकअप के लिए इस्तेमाल की गई स्टोरेज.
- डेटा को वापस लाने के लिए, आपसे बैकअप के साइज़ के हिसाब से शुल्क लिया जाता है.
ज़्यादा जानकारी और सटीक किराये के लिए, कीमत पेज देखें.
शुरू करने से पहले
इस सुविधा के लिए, ब्लेज़ प्राइसिंग प्लान की ज़रूरत होती है.ज़रूरी भूमिकाएं
बैकअप और बैकअप के शेड्यूल मैनेज करने की अनुमतियां पाने के लिए, अपने एडमिन से कहें कि वह आपको पहचान और ऐक्सेस मैनेजमेंट में से एक या उससे ज़्यादा अनुमतियां दे भूमिकाएं:
roles/datastore.owner
: Cloud Firestore डेटाबेस का पूरा ऐक्सेसनीचे दी गई भूमिकाएं भी Google Cloud Console में उपलब्ध हैं, लेकिन दिखती नहीं हैं. Google Cloud CLI का इस्तेमाल करें ये भूमिकाएं असाइन करें:
roles/datastore.backupsAdmin
: बैकअप पढ़ने और लिखने का ऐक्सेसroles/datastore.backupsViewer
: बैकअप का रीड ऐक्सेसroles/datastore.backupSchedulesAdmin
: बैकअप शेड्यूल के लिए पढ़ने और लिखने का ऐक्सेसroles/datastore.backupSchedulesViewer
: बैकअप शेड्यूल के लिए ऐक्सेस पढ़ने की अनुमतिroles/datastore.restoreAdmin
: वापस लाने की कार्रवाइयां शुरू करने की अनुमतियां
बैकअप शेड्यूल बनाना और उन्हें मैनेज करना
नीचे दिए गए उदाहरणों में बैकअप शेड्यूल सेट अप करने का तरीका बताया गया है. हर एक के लिए डेटाबेस, एक दिन में एक बार और हफ़्ते में एक बार तक बैकअप के लिए कॉन्फ़िगर किया जा सकता है बैकअप शेड्यूल. हफ़्ते के अलग-अलग दिनों के लिए, हर हफ़्ते के बैकअप के कई शेड्यूल कॉन्फ़िगर नहीं किए जा सकते.
बैकअप के लिए, दिन का सटीक समय कॉन्फ़िगर नहीं किया जा सकता. बैकअप यहां लिए जाते हैं पर निर्भर करती है. हर हफ़्ते बैकअप के लिए शेड्यूल करते हैं, तो बैकअप लेने के लिए हफ़्ते का दिन कॉन्फ़िगर किया जा सकता है.
बैकअप के लिए शेड्यूल बनाना
किसी डेटाबेस का बैकअप शेड्यूल बनाने के लिए,
gcloud firestore backups schedules create
निर्देश या firebase firestore:databases:backups:schedules
निर्देश.
रोज़ाना बैकअप लेने का शेड्यूल बनाना
gcloud
रोज़ाना बैकअप लेने का शेड्यूल बनाने के लिए,--recurrence
फ़्लैग को daily
पर सेट करें:
gcloud 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 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 firestore backups schedules list
कमांड का इस्तेमाल करें.
gcloud firestore backups schedules list \ --database='DATABASE_ID'
'(default)'
का इस्तेमाल करें.
Firebase CLI
firebase firestore:backups:schedules:list
निर्देश का इस्तेमाल करें.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'
का इस्तेमाल करें.
बैकअप शेड्यूल के बारे में बताएं
बैकअप शेड्यूल के बारे में जानकारी पाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
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: बैकअप शेड्यूल का आईडी. सभी बैकअप शेड्यूल की सूची देखने पर, आपको हर बैकअप शेड्यूल का आईडी दिखेगा.
बैकअप लेने का शेड्यूल अपडेट करना
बैकअप शेड्यूल के रखरखाव की अवधि अपडेट करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
gcloud
gcloud firestore backups schedules update
कमांड का इस्तेमाल करें:
gcloud 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 firestore backups schedules delete
कमांड का इस्तेमाल करें:
gcloud 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 firestore backups list
कमांड का इस्तेमाल करें:
gcloud firestore backups list \ --format="table(name, database, state)"
--format="table(name, database, state)"
फ़्लैग आउटपुट को
आसानी से पढ़ा जा सकता है.
किसी खास जगह के बैकअप की सूची देखने के लिए, --location
फ़्लैग का इस्तेमाल करें:
gcloud 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 firestore backups describe
कमांड का इस्तेमाल करें:
gcloud 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 firestore backups delete
कमांड का इस्तेमाल करें:
gcloud 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 firestore databases restore
कमांड का इस्तेमाल करें:
gcloud 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: नए डेटाबेस का आईडी. पहले से इस्तेमाल किए जा रहे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता.