| مربوط به نسخه استاندارد Cloud Firestore و نسخه سازمانی Cloud Firestore. |
این صفحه نحوه استفاده از ویژگی پشتیبانگیری زمانبندیشدهی Cloud Firestore با سازگاری MongoDB را شرح میدهد. از پشتیبانگیری برای محافظت از دادههای خود در برابر خرابی دادهها در سطح برنامه یا حذف تصادفی دادهها استفاده کنید.
پشتیبانگیری به شما امکان میدهد برنامههای پشتیبانگیری را طوری تنظیم کنید که روزانه یا هفتگی از پایگاه داده مشخص شده پشتیبانگیری شود. سپس میتوانید از این پشتیبانگیریها برای بازیابی دادهها به یک پایگاه داده جدید استفاده کنید.
درباره پشتیبانگیری
پشتیبان، یک کپی ثابت از پایگاه داده در یک نقطه زمانی است. این پشتیبان شامل تمام دادهها و پیکربندیهای شاخص در آن نقطه زمانی است.
یک نسخه پشتیبان شامل سیاستهای مربوط به زمان حیات پایگاه داده نمیشود. یک نسخه پشتیبان در همان مکانی که پایگاه داده منبع قرار دارد، قرار میگیرد.نسخههای پشتیبان دارای دوره نگهداری قابل تنظیم هستند و تا زمانی که دوره نگهداری منقضی شود یا تا زمانی که نسخه پشتیبان را حذف کنید، ذخیره میشوند. حذف پایگاه داده منبع، نسخههای پشتیبان مرتبط را به طور خودکار حذف نمیکند.
Cloud Firestore فرادادههای مربوط به پشتیبانگیریها و برنامههای پشتیبانگیری مربوط به یک پایگاه داده را ذخیره میکند. Cloud Firestore این فرادادهها را تا زمانی که تمام پشتیبانگیریهای پایگاه داده منقضی یا حذف شوند، حفظ میکند.
ایجاد یا نگهداری نسخههای پشتیبان، تاثیری بر عملکرد خواندن یا نوشتن در پایگاه داده زنده شما ندارد.
هزینهها
وقتی از پشتیبانگیری استفاده میکنید، هزینههای زیر از شما دریافت میشود:
- میزان فضای ذخیرهسازی مورد استفاده توسط هر نسخه پشتیبان.
- برای عملیات بازیابی، بر اساس حجم نسخه پشتیبان، هزینه دریافت میشود.
برای جزئیات بیشتر و نرخهای دقیق، به صفحه قیمتها مراجعه کنید.
قبل از اینکه شروع کنی
این ویژگی به طرح قیمتگذاری Blaze نیاز دارد.نقشهای مورد نیاز
برای دریافت مجوزهای لازم برای مدیریت پشتیبانگیری و برنامههای پشتیبانگیری، از مدیر سیستم خود بخواهید که یک یا چند مورد از نقشهای مدیریت هویت و دسترسی زیر را به شما اعطا کند:
-
roles/datastore.owner: دسترسی کامل به پایگاه داده Cloud Firestore -
roles/datastore.backupsAdmin: دسترسی خواندن و نوشتن به نسخههای پشتیبان -
roles/datastore.backupsViewer: دسترسی خواندن به نسخههای پشتیبان -
roles/datastore.backupSchedulesAdmin: دسترسی خواندن و نوشتن به برنامههای پشتیبانگیری -
roles/datastore.backupSchedulesViewer: دسترسی خواندن به برنامههای پشتیبانگیری -
roles/datastore.restoreAdmin: مجوزهای لازم برای شروع عملیات بازیابی
ایجاد و مدیریت برنامههای پشتیبانگیری
مثالهای زیر نحوه تنظیم برنامه پشتیبانگیری را نشان میدهند. برای هر پایگاه داده، میتوانید حداکثر یک برنامه پشتیبانگیری روزانه و حداکثر یک برنامه پشتیبانگیری هفتگی پیکربندی کنید. نمیتوانید چندین برنامه پشتیبانگیری هفتگی را برای روزهای مختلف هفته پیکربندی کنید.
شما نمیتوانید زمان دقیق پشتیبانگیری را در روز پیکربندی کنید. پشتیبانگیریها هر روز در زمانهای مختلفی انجام میشوند. برای برنامههای پشتیبانگیری هفتگی، میتوانید روز هفته را برای گرفتن پشتیبان پیکربندی کنید.
ایجاد برنامه پشتیبان گیری
برای ایجاد یک برنامه پشتیبان گیری از یکی از ابزارهای زیر استفاده کنید.
یک برنامه پشتیبان گیری روزانه ایجاد کنید
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- برای ویرایش تنظیمات بازیابی اطلاعات پس از سانحه، روی ویرایش کلیک کنید.
- کادر انتخاب «روزانه » را علامت بزنید، مدت زمان نگهداری را تنظیم کنید و سپس روی ذخیره کلیک کنید.
رابط خط فرمان فایربیس
برای ایجاد یک برنامه پشتیبانگیری برای یک پایگاه داده، از دستورfirebase firestore:databases:backups:schedules:create استفاده کنید. برای ایجاد یک برنامه پشتیبانگیری روزانه، پرچم --recurrence را روی DAILY تنظیم کنید:firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
موارد زیر را جایگزین کنید:
- DATABASE_ID : شناسه پایگاه دادهای که قرار است از آن نسخه پشتیبان تهیه شود. برای پایگاه داده پیشفرض، روی
'(default)'تنظیم کنید. - RETENTION_PERIOD : این مقدار را تا ۱۴ هفته (
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(۱۴ هفته) است.
google_firestore_database استفاده کنید.یک برنامه پشتیبان گیری هفتگی ایجاد کنید
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- برای ویرایش تنظیمات بازیابی اطلاعات پس از سانحه، روی ویرایش کلیک کنید.
- کادر انتخاب هفتگی را انتخاب کنید، یک روز پشتیبانگیری را انتخاب کنید، دوره نگهداری را تنظیم کنید و سپس روی ذخیره کلیک کنید.
رابط خط فرمان فایربیس
برای ایجاد یک برنامه پشتیبانگیری هفتگی، پرچم--recurrence را روی WEEKLY تنظیم کنید و --day-of-week را انتخاب کنید:firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID : شناسه پایگاه دادهای که قرار است از آن نسخه پشتیبان تهیه شود. برای پایگاه داده پیشفرض، روی
'(default)'تنظیم کنید. - RETENTION_PERIOD : این مقدار را تا ۱۴ هفته (
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(۱۴ هفته) است. - DAY : روزی از هفته که قرار است پشتیبانگیری انجام شود. روی یکی از موارد زیر تنظیم کنید:
-
SUNDAYبرای یکشنبه -
MONDAYبرای دوشنبه -
TUESDAYبرای سهشنبه -
WEDNESDAYبرای چهارشنبه -
THURSDAYبرای پنجشنبه -
FRIDAYبرای جمعه -
SATURDAYبرای شنبه
-
google_firestore_database استفاده کنید.فهرست کردن برنامههای پشتیبانگیری
برای فهرست کردن تمام برنامههای پشتیبانگیری برای یک پایگاه داده، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- صفحه بازیابی اطلاعات پس از سانحه باز میشود. این صفحه برنامههای پشتیبانگیری را شرح میدهد و پشتیبانهای موجود را فهرست میکند.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:schedules:list استفاده کنید.firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)' استفاده کنید.شرح برنامه پشتیبان گیری
برای بازیابی اطلاعات مربوط به برنامه پشتیبانگیری، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- صفحه بازیابی اطلاعات پس از سانحه باز میشود. این صفحه برنامههای پشتیبانگیری را شرح میدهد و پشتیبانهای موجود را فهرست میکند.
جیکلاود
از دستورgcloud firestore backups schedules describe استفاده کنید:gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID : شناسه پایگاه دادهای که قرار است از آن نسخه پشتیبان تهیه شود. برای پایگاه داده پیشفرض، روی
'(default)'تنظیم کنید. - BACKUP_SCHEDULE_ID : شناسهی یک برنامهی پشتیبانگیری. میتوانید شناسهی هر برنامهی پشتیبانگیری را هنگام فهرست کردن تمام برنامههای پشتیبانگیری مشاهده کنید.
بهروزرسانی برنامهی پشتیبانگیری
برای بهروزرسانی دوره نگهداری یک برنامه پشتیبانگیری، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، روی «مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- برای ویرایش تنظیمات بازیابی اطلاعات پس از سانحه، روی ویرایش کلیک کنید.
- تنظیمات برنامه پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:schedules:update استفاده کنید:firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE : نام کامل منبع یک برنامه پشتیبانگیری. میتوانید نام هر برنامه پشتیبانگیری را هنگام فهرست کردن تمام برنامههای پشتیبانگیری مشاهده کنید.
- RETENTION_PERIOD : این مقدار را تا ۱۴ هفته (
14w) تنظیم کنید.
شما میتوانید دوره نگهداری یک برنامه پشتیبانگیری را بهروزرسانی کنید، اما نمیتوانید دوره تکرار آن را بهروزرسانی کنید. اگر به یک برنامه پشتیبانگیری با دوره تکرار متفاوت نیاز دارید، در صورت عدم نیاز، برنامه پشتیبانگیری قدیمی را حذف کنید و یک برنامه پشتیبانگیری جدید با دوره تکرار ترجیحی ایجاد کنید.
حذف برنامه پشتیبانگیری
برای حذف یک برنامه پشتیبان، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- برای ویرایش تنظیمات بازیابی اطلاعات پس از سانحه، روی ویرایش کلیک کنید.
- تنظیمات برنامه پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:schedules:delete استفاده کنید:firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE : نام کامل منبع یک برنامه پشتیبانگیری. میتوانید نام هر برنامه پشتیبانگیری را هنگام فهرست کردن تمام برنامههای پشتیبانگیری مشاهده کنید.
توجه داشته باشید که حذف یک برنامه پشتیبانگیری، پشتیبانهایی را که قبلاً توسط این برنامه ایجاد شدهاند، حذف نمیکند. میتوانید منتظر بمانید تا پس از دوره نگهداری، منقضی شوند یا برای حذف دستی یک نسخه پشتیبان، به حذف نسخه پشتیبان مراجعه کنید.
مدیریت پشتیبانگیریها
فهرست پشتیبانها
برای فهرست کردن پشتیبانهای موجود، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- برای ویرایش تنظیمات بازیابی اطلاعات پس از سانحه، روی ویرایش کلیک کنید.
- تنظیمات برنامه پشتیبانگیری را ویرایش کنید و سپس روی ذخیره کلیک کنید.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:list استفاده کنید:firebase firestore:backups:list
--location استفاده کنید:firebase firestore:backups:list \ --location=LOCATION
LOCATION نام Cloud Firestore با موقعیت مکانی سازگار با MongoDB را وارد کنید.شرح پشتیبان گیری
برای مشاهده جزئیات مربوط به نسخه پشتیبان، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی « مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید.
- صفحه بازیابی اطلاعات پس از سانحه باز میشود. این صفحه برنامههای پشتیبانگیری را شرح میدهد و پشتیبانهای موجود را فهرست میکند.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:get استفاده کنید:firebase firestore:backups:get BACKUP
- BACKUP : نام کامل منبع یک نسخه پشتیبان. میتوانید نام هر نسخه پشتیبان را هنگام فهرست کردن همه نسخههای پشتیبان مشاهده کنید.
حذف نسخه پشتیبان
برای حذف نسخه پشتیبان، از یکی از روشهای زیر استفاده کنید.
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی «مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید. صفحه بازیابی پس از سانحه باز میشود. این صفحه برنامههای پشتیبانگیری را شرح میدهد و پشتیبانگیریهای موجود را فهرست میکند.
- در جدول پشتیبانگیریها ، ردیف مربوط به پشتیبانگیری را پیدا کنید و در ستون اقدامات ، روی مشاهده بیشتر ( ) کلیک کنید. روی حذف کلیک کنید.
- اقدام را با استفاده از فیلد متنی تأیید کنید و روی حذف کلیک کنید.
رابط خط فرمان فایربیس
از دستورfirebase firestore:backups:delete استفاده کنید:firebase firestore:backups:delete \ BACKUP
- BACKUP : نام کامل منبع یک نسخه پشتیبان. میتوانید نام هر نسخه پشتیبان را هنگام فهرست کردن همه نسخههای پشتیبان مشاهده کنید.
بازیابی دادهها از پشتیبان پایگاه داده
یک عملیات بازیابی، دادهها را از یک نسخه پشتیبان به یک Cloud Firestore جدید با پایگاه داده سازگار با MongoDB مینویسد.
برای شروع عملیات بازیابی، از یکی از روشهای زیر استفاده کنید:
کنسول گوگل کلود
در کنسول گوگل کلود، به صفحه پایگاههای داده بروید.
- در فهرست پایگاههای داده، ردیف مربوط به پایگاه داده را پیدا کنید. در ستون پشتیبانگیریهای زمانبندیشده، بسته به اینکه آیا برنامه پشتیبانگیری وجود دارد یا خیر، روی «مشاهده پشتیبانگیریها» یا «ویرایش تنظیمات» کلیک کنید. صفحه بازیابی پس از سانحه باز میشود. این صفحه برنامههای پشتیبانگیری را شرح میدهد و پشتیبانگیریهای موجود را فهرست میکند.
- در جدول پشتیبانگیریها ، ردیف مربوط به پشتیبانگیری را پیدا کنید و در ستون اقدامات ، روی مشاهده بیشتر ( ) کلیک کنید. روی بازیابی با Cloud Shell کلیک کنید.
پنل Cloud Shell با یک دستور gcloud CLI برای بازیابی از نسخه پشتیبان انتخاب شده باز میشود. ID_OF_NEW_DATABASE با یک شناسه برای پایگاه داده جایگزین کنید و دستور را اجرا کنید.
اجرای دستور، پاسخی با اطلاعات بیشتر در مورد عملیات را برمیگرداند. پایگاه داده به زودی در فهرست پایگاههای داده شما ظاهر میشود. عملیات بازیابی مدتی طول میکشد و باید قبل از دسترسی به پایگاه داده تکمیل شود.
رابط خط فرمان فایربیس
از دستورfirebase firestore:databases:restore استفاده کنید:firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP : نام کامل منبع یک نسخه پشتیبان. میتوانید نام هر نسخه پشتیبان را هنگام فهرست کردن همه نسخههای پشتیبان مشاهده کنید.
- DATABASE_ID : شناسه پایگاه داده برای پایگاه داده جدید. شما نمیتوانید از شناسه پایگاه دادهای که از قبل استفاده میشود استفاده کنید.
محدودیتها
عملیات بازیابی، دادههای جستجوی App Engine یا موجودیتهای blob را از یک پایگاه داده (default) بازیابی نمیکند. این دادهها فقط برای پایگاه داده (default) معتبر هستند و اگر از (default) به پایگاه دادهای که از چنین دادههایی پشتیبانی نمیکند، بازیابی کنید، مفید نخواهند بود، بنابراین از پشتیبانگیریها حذف میشوند.
بعد از بازیابی چه باید کرد
پس از اتمام بازیابی، باید موارد زیر را انجام دهید:
تأیید کنید که کنترلهای IAM مناسب روی پایگاه داده جدید شما اعمال شدهاند.
اگر قبلاً از سیاستهای TTL استفاده کردهاید، آنها را دوباره به پایگاه داده جدید اعمال کنید. سیاستهای TTL در نسخههای پشتیبان گنجانده نشدهاند و به طور خودکار به پایگاههای داده بازیابی شده دوباره اعمال نمیشوند.