डेटा का बैक अप लें और उसे वापस पाएं

इस पेज पर 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)'.
  • संसाधन संदर्भ का इस्तेमाल करके, google_firestore_database टाइप का टेराफ़ॉर्म रिसॉर्स.
  • RETENTION_PERIOD_SECONDS: इसे सेकंड में एक वैल्यू पर सेट करें, इसके बाद "s". ज़्यादा से ज़्यादा वैल्यू 8467200s (14 हफ़्ते) है.

हर हफ़्ते बैकअप लेने का शेड्यूल बनाना

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)'.
  • संसाधन संदर्भ का इस्तेमाल करके, google_firestore_database टाइप का टेराफ़ॉर्म रिसॉर्स.
  • RETENTION_PERIOD_SECONDS: इसे सेकंड में एक वैल्यू पर सेट करें, इसके बाद "s". ज़्यादा से ज़्यादा वैल्यू 8467200s (14 हफ़्ते) है.
  • DAY: बैकअप लेने के लिए हफ़्ते का दिन. इस पर सेट करें इनमें से एक:
    • रविवार का किराया SUNDAY
    • सोमवार का किराया MONDAY
    • मंगलवार का TUESDAY
    • बुधवार का WEDNESDAY
    • गुरुवार का THURSDAY
    • शुक्रवार का FRIDAY
    • शनिवार का SATURDAY

बैकअप शेड्यूल की सूची बनाएं

किसी डेटाबेस के सभी बैकअप शेड्यूल को सूची में शामिल करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

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
इन्हें बदलें:

ध्यान दें कि बैकअप शेड्यूल मिटाने से, वे बैकअप नहीं मिटेंगे जो पहले ही बनाए जा चुके हैं देखें. उनके रखरखाव की अवधि खत्म होने का इंतज़ार करें या अगर आपको मैन्युअल तरीके से बैकअप मिटाना है, तो बैकअप मिटाएं पर जाएं.

बैकअप मैनेज करें

बैकअप की सूची बनाएं

उपलब्ध बैकअप की सूची बनाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

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: नए वर्शन के लिए डेटाबेस आईडी डेटाबेस. पहले से इस्तेमाल किए जा रहे डेटाबेस आईडी का इस्तेमाल नहीं किया जा सकता.