مربوط به نسخه استاندارد Cloud Firestore و نسخه Enterprise Cloud Firestore. |
این صفحه نحوه استفاده از ویژگی پشتیبانگیری برنامهریزیشده از Cloud Firestore با سازگاری MongoDB را شرح میدهد. از پشتیبانگیری برای محافظت از دادههای خود در برابر خرابی دادههای سطح برنامه یا حذف تصادفی دادهها استفاده کنید.
پشتیبانگیری به شما امکان میدهد برنامههای پشتیبانگیری را برای تهیه نسخه پشتیبان روزانه یا هفتگی از پایگاه داده مشخص شده پیکربندی کنید. سپس می توانید از این نسخه های پشتیبان برای بازیابی داده ها به یک پایگاه داده جدید استفاده کنید.
یک نسخه پشتیبان یک کپی ثابت از پایگاه داده در یک نقطه از زمان است. نسخه پشتیبان شامل تمام داده ها و تنظیمات فهرست در آن نقطه از زمان است. یک نسخه پشتیبان شامل زمان پایگاه داده تا خط مشی های زنده نیست. یک نسخه پشتیبان در همان مکان پایگاه داده منبع قرار دارد.
نسخه های پشتیبان دارای یک دوره نگهداری قابل تنظیم هستند و تا زمانی که دوره نگهداری به پایان برسد یا تا زمانی که نسخه پشتیبان را حذف نکنید ذخیره می شوند. حذف پایگاه داده منبع به طور خودکار نسخه های پشتیبان مرتبط را حذف نمی کند.
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، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- برای ویرایش تنظیمات بازیابی فاجعه، روی Edit کلیک کنید.
- کادر بررسی روزانه را انتخاب کنید، دوره نگهداری را تنظیم کنید و سپس روی ذخیره کلیک کنید.
firebase firestore:databases:backups:schedules
استفاده کنید. برای ایجاد یک برنامه پشتیبان روزانه، پرچم --recurrence
را روی DAILY
تنظیم کنید:firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
موارد زیر را جایگزین کنید:
- DATABASE_ID : شناسه پایگاه داده برای تهیه نسخه پشتیبان. برای پایگاه داده پیشفرض روی
'(default)'
تنظیم کنید. - RETENTION_PERIOD : این مقدار را تا 14 هفته (
14w
) تنظیم کنید.
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)'
تنظیم کنید. همچنین می توانید از یک مرجع منبع به یک منبع Terraform از نوع - RETENTION_PERIOD_SECONDS : این مقدار را بر حسب ثانیه تنظیم کنید و سپس "s" را در نظر بگیرید. حداکثر مقدار
8467200s
(14 هفته) است.
google_firestore_database
استفاده کنید.در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- برای ویرایش تنظیمات بازیابی فاجعه، روی Edit کلیک کنید.
- کادر چک هفتگی را انتخاب کنید، یک روز پشتیبان را انتخاب کنید، دوره نگهداری را تنظیم کنید و سپس روی ذخیره کلیک کنید.
--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
برای شنبه
-
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)'
تنظیم کنید. همچنین می توانید از یک مرجع منبع به یک منبع Terraform از نوع - RETENTION_PERIOD_SECONDS : این مقدار را بر حسب ثانیه تنظیم کنید و سپس "s" را در نظر بگیرید. حداکثر مقدار
8467200s
(14 هفته) است. - DAY : روز هفته برای گرفتن نسخه پشتیبان. روی یکی از موارد زیر تنظیم کنید:
-
SUNDAY
برای یکشنبه -
MONDAY
برای دوشنبه -
TUESDAY
برای سه شنبه -
WEDNESDAY
برای چهارشنبه -
THURSDAY
برای پنجشنبه -
FRIDAY
برای جمعه -
SATURDAY
برای شنبه
-
google_firestore_database
استفاده کنید.برای فهرست کردن تمام برنامه های پشتیبان گیری برای یک پایگاه داده، از یکی از روش های زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- صفحه بازیابی فاجعه باز می شود. این صفحه برنامه های پشتیبان گیری را شرح می دهد و نسخه های پشتیبان موجود را فهرست می کند.
firebase firestore:backups:schedules:list
استفاده کنید.firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'
استفاده کنید.برای بازیابی اطلاعات مربوط به زمانبندی پشتیبانگیری، از یکی از روشهای زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- صفحه بازیابی فاجعه باز می شود. این صفحه برنامه های پشتیبان گیری را شرح می دهد و نسخه های پشتیبان موجود را فهرست می کند.
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، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندی شده، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- برای ویرایش تنظیمات بازیابی فاجعه، روی Edit کلیک کنید.
- تنظیمات زمانبندی پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
firebase firestore:backups:schedules:update
استفاده کنید:firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE : نام منبع کامل یک برنامه پشتیبان. وقتی همه برنامههای پشتیبانگیری را فهرست میکنید، میتوانید نام هر برنامه پشتیبانگیری را مشاهده کنید.
- RETENTION_PERIOD : این مقدار را تا 14 هفته (
14w
) تنظیم کنید.
می توانید دوره نگهداری یک برنامه پشتیبان را به روز کنید، اما نمی توانید تکرار آن را به روز کنید. اگر به یک برنامه پشتیبان گیری با تکرار متفاوت نیاز دارید، اگر دیگر نیازی به برنامه پشتیبان گیری نیست، آن را حذف کنید و یک برنامه پشتیبان جدید با تکرار مورد نظر ایجاد کنید.
برای حذف یک برنامه پشتیبان، از یکی از روش های زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- برای ویرایش تنظیمات بازیابی فاجعه، روی Edit کلیک کنید.
- تنظیمات زمانبندی پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
firebase firestore:backups:schedules:delete
استفاده کنید:firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE : نام منبع کامل یک برنامه پشتیبان. وقتی همه برنامههای پشتیبانگیری را فهرست میکنید، میتوانید نام هر برنامه پشتیبانگیری را مشاهده کنید.
توجه داشته باشید که حذف یک برنامه پشتیبان، پشتیبانهایی را که قبلاً توسط این زمانبندی ایجاد شدهاند حذف نمیکند. می توانید منتظر بمانید تا پس از مدت نگهداری آنها منقضی شود، یا برای حذف دستی یک نسخه پشتیبان، به حذف نسخه پشتیبان مراجعه کنید.
برای فهرست کردن نسخههای پشتیبان موجود، از یکی از روشهای زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- برای ویرایش تنظیمات بازیابی فاجعه، روی Edit کلیک کنید.
- تنظیمات زمانبندی پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
firebase firestore:backups:list
استفاده کنید:firebase firestore:backups:list
--location
استفاده کنید:firebase firestore:backups:list \ --location=LOCATION
LOCATION
با نام یک Cloud Firestore با مکان سازگاری MongoDB جایگزین کنید.برای مشاهده جزئیات مربوط به پشتیبان گیری، از یکی از روش های زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید.
- صفحه بازیابی فاجعه باز می شود. این صفحه برنامه های پشتیبان گیری را شرح می دهد و نسخه های پشتیبان موجود را فهرست می کند.
firebase firestore:backups:get
استفاده کنید:firebase firestore:backups:get BACKUP
- BACKUP : نام منبع کامل یک نسخه پشتیبان. وقتی همه نسخههای پشتیبان را فهرست میکنید، میتوانید نام هر نسخه پشتیبان را مشاهده کنید.
برای حذف یک نسخه پشتیبان از یکی از روش های زیر استفاده کنید.
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید. صفحه بازیابی فاجعه باز می شود. این صفحه برنامه های پشتیبان گیری را شرح می دهد و نسخه های پشتیبان موجود را فهرست می کند.
- در جدول پشتیبانگیری ، ردیف پشتیبانگیری را پیدا کنید و در ستون Actions ، روی View more ( ) کلیک کنید. روی Delete کلیک کنید.
- عمل را با استفاده از فیلد متن تأیید کنید و روی Delete کلیک کنید.
firebase firestore:backups:delete
استفاده کنید:firebase firestore:backups:delete \ BACKUP
- BACKUP : نام منبع کامل یک نسخه پشتیبان. وقتی همه نسخههای پشتیبان را فهرست میکنید، میتوانید نام هر نسخه پشتیبان را مشاهده کنید.
عملیات بازیابی داده ها را از یک نسخه پشتیبان به یک Cloud Firestore جدید با پایگاه داده سازگاری MongoDB می نویسد.
برای شروع عملیات بازیابی، از یکی از روش های زیر استفاده کنید:
در کنسول Google Cloud، به صفحه پایگاه داده بروید.
- در لیست پایگاه های داده، ردیف پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه برنامه پشتیبانگیری وجود داشته باشد، روی مشاهده نسخههای پشتیبان یا ویرایش تنظیمات کلیک کنید. صفحه بازیابی فاجعه باز می شود. این صفحه برنامه های پشتیبان گیری را شرح می دهد و نسخه های پشتیبان موجود را فهرست می کند.
- در جدول پشتیبانگیری ، ردیف پشتیبانگیری را پیدا کنید و در ستون Actions ، روی View more ( Cloud Shell کلیک کنید. ) کلیک کنید. روی Restore with
پانل Cloud Shell با دستور gcloud CLI برای بازیابی از نسخه پشتیبان انتخاب شده باز می شود. ID_OF_NEW_DATABASE با یک شناسه برای پایگاه داده جایگزین کنید و دستور را اجرا کنید.
اجرای دستور پاسخی با اطلاعات بیشتر در مورد عملیات برمی گرداند. پایگاه داده به زودی در لیست پایگاه های داده شما ظاهر می شود. عملیات بازیابی مدتی طول می کشد و باید قبل از دسترسی به پایگاه داده کامل شود.
gcloud firestore databases restore
استفاده کنید:gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID \ --tags=[KEY=VALUE]'
- PROJECT_ID : شناسه پروژه شما.
- LOCATION : محل پشتیبان گیری از پایگاه داده و مکان پایگاه داده جدید ایجاد شده برای داده های بازیابی شده است.
- BACKUP_ID : شناسه یک نسخه پشتیبان. وقتی همه نسخههای پشتیبان را فهرست میکنید، میتوانید شناسه هر نسخه پشتیبان را مشاهده کنید.
- DATABASE_ID : شناسه پایگاه داده برای پایگاه داده جدید. شما نمی توانید از شناسه پایگاه داده ای که قبلاً در حال استفاده است استفاده کنید.
- [ KEY = VALUE ]: فهرست اختیاری برچسبها KEY=VALUE جفتهایی برای اتصال. به عنوان مثال:
-
--tags=123/environment=production,123/costCenter=marketing
-
--tags=tagKeys/333=tagValues/444
-
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