इस पेज पर 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 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'अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है DATABASE_ID को डेटाबेस के आईडी से बदलें. इस्तेमाल की जाने वाली चीज़ें डिफ़ॉल्ट डेटाबेस के लिए
'(default)'
.
Firebase CLI
firebase firestore:backups:schedules:list
निर्देश का इस्तेमाल करें.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है 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: नए वर्शन के लिए डेटाबेस आईडी डेटाबेस. पहले से इस्तेमाल किए जा रहे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता.