HandyCafe Docs
it-admin owner

نگهداری پایگاه‌داده

صفحه Database Maintenance مرکز پشتیبان‌گیری و نگهداری پایگاه‌داده محلی HandyCafe است. از این صفحه می‌توانید سلامت پایگاه‌داده را بررسی کنید، کارهای نگهداری تک‌بار اجرا کنید، نگهداری و پشتیبان‌گیری خودکار را زمان‌بندی کنید و سرور را از یک snapshot قبلی بازیابی کنید.

سلامت پایگاه‌داده

بخش Database Health وضعیت کنونی پایگاه‌داده را نشان می‌دهد. هر زمان که خواستید از دکمه Refresh برای بارگذاری مجدد این مقادیر استفاده کنید.

داشبورد سلامت موارد زیر را گزارش می‌کند:

  • Database size: اندازه کل فایل اصلی پایگاه‌داده.
  • Write-ahead log: اندازه فایل write-ahead log (WAL).
  • Page count: تعداد صفحه‌هایی که فایل پایگاه‌داده در خود دارد.
  • Free pages: تعداد صفحه‌های بلااستفاده در freelist که می‌توان با یک vacuum بازپس گرفت.
  • Last backup: برچسب زمان آخرین پشتیبان. اگر هیچ پشتیبانی گرفته نشده باشد Never run نشان داده می‌شود.
  • Last maintenance: برچسب زمان آخرین vacuum.
  • Last integrity check: برچسب زمان آخرین بررسی یکپارچگی، به‌همراه نشانگری که نشان می‌دهد پایگاه‌داده سالم بوده یا مشکلی پیدا شده است.
  • Log entries: تعداد ردیف‌هایی که اکنون در لاگ ممیزی ذخیره شده‌اند.

در زیر این ارقام، این بخش همچنین Journal mode، تنظیم Auto-vacuum، Page size و تعداد Backups on disk را فهرست می‌کند.

ورودی Tables را باز کنید تا شمار ردیف هر جدول برای همه جدول‌های پایگاه‌داده را ببینید.

اقدام‌های دستی

بخش Manual Actions یک کار نگهداری تک‌بار را فوراً اجرا می‌کند. هر بار فقط یک اقدام می‌تواند اجرا شود. هر اقدام پس از پایان یک toast تأیید نشان می‌دهد و چند اقدام یک خلاصه نتیجه را بالای این بخش نمایش می‌دهند.

  • Back up now: یک snapshot اتمیک از پایگاه‌داده فعلی می‌سازد. snapshot جدید در فهرست Backup History ظاهر می‌شود.
  • Vacuum: صفحه‌های بلااستفاده را بازپس می‌گیرد و فایل پایگاه‌داده را یکپارچه می‌کند. خلاصه نتیجه، اندازه قبل، اندازه بعد، فضای بازپس‌گرفته‌شده و مدت زمان را گزارش می‌کند.
  • Integrity check: یک بررسی کامل خرابی اجرا می‌کند. کندتر اما کامل است. نتیجه در دیالوگ Integrity Report باز می‌شود.
  • Quick check: یک بررسی سریع سلامت ساختاری اجرا می‌کند. نتیجه نیز در دیالوگ Integrity Report باز می‌شود.
  • Analyze: آمار برنامه‌ریز کوئری را به‌روزرسانی می‌کند.
  • Optimize: بهینه‌ساز افزایشی SQLite را اجرا می‌کند.
  • Truncate WAL: فایل write-ahead log را تخلیه و کوتاه می‌کند. خلاصه نتیجه، تعداد فریم WAL، تعداد فریم‌های checkpoint‌شده و مدت زمان را گزارش می‌کند.
  • Clean old logs: ورودی‌های لاگ قدیمی‌تر از پنجره نگهداشت پیکربندی‌شده را حذف می‌کند. خلاصه نتیجه، ردیف‌های حذف‌شده، ردیف‌های باقی‌مانده و مدت زمان را گزارش می‌کند.

گزارش یکپارچگی

پس از یک بررسی یکپارچگی یا بررسی سریع، دیالوگ Integrity Report باز می‌شود. وقتی پایگاه‌داده سالم باشد، تأیید می‌کند که یکپارچگی پایگاه‌داده وارسی شده است. وقتی SQLite مشکلاتی گزارش کند، دیالوگ مشکلات را فهرست می‌کند و توصیه می‌کند از یک پشتیبان سالم شناخته‌شده بازیابی کنید. دیالوگ همچنین مدت زمان بررسی را نشان می‌دهد.

نگهداری خودکار

بخش Auto Maintenance، vacuum، بررسی یکپارچگی و پاک‌سازی لاگ‌ها را برای اجرای خودکار زمان‌بندی می‌کند.

  • Enable scheduled maintenance: چرخه نگهداری زمان‌بندی‌شده را روشن یا خاموش می‌کند.
  • Frequency: یکی از Daily، Weekly یا Monthly را انتخاب کنید.
  • Hour of day: ساعت محلی‌ای را که چرخه در آن اجرا می‌شود انتخاب کنید.

پشتیبان‌گیری خودکار

تنظیمات Auto Backup به‌طور منظم snapshot می‌گیرند تا یک خرابی هرگز نتواند داده‌های یک روز را پاک کند.

  • Enable scheduled backups: پشتیبان‌های زمان‌بندی‌شده را روشن یا خاموش می‌کند.
  • Frequency: یکی از Daily، Weekly یا Monthly را انتخاب کنید.
  • Hour of day: ساعت محلی‌ای را که پشتیبان در آن اجرا می‌شود انتخاب کنید.
  • Keep most recent: تعداد snapshotهایی که باید نگه داشته شوند، بین ۱ و ۳۶۵. snapshotهای قدیمی‌تر فراتر از این تعداد حذف می‌شوند.
  • Backup folder: پوشه‌ای که snapshotها در آن ذخیره می‌شوند. این را خالی بگذارید تا از پوشه پیش‌فرض داخل دایرکتوری داده‌های برنامه استفاده شود.

نگهداشت لاگ

تنظیم Log Retention مشخص می‌کند ورودی‌های لاگ ممیزی پیش از حذف شدن در طول نگهداری، چه مدت نگه داشته شوند. مقدار Retention (days) را با اسلایدر تنظیم کنید. بازه پشتیبانی‌شده ۷ تا ۷۳۰ روز است.

از دکمه Save در پایین این بخش برای ذخیره تنظیمات Auto Maintenance، Auto Backup و Log Retention استفاده کنید.

تاریخچه پشتیبان‌ها

بخش Backup History، snapshotهای ذخیره‌شده به‌صورت محلی را فهرست می‌کند. برای هر پشتیبان، جدول این موارد را نشان می‌دهد:

  • File: نام فایل snapshot.
  • Created: تاریخ و زمان گرفته شدن snapshot.
  • Size: اندازه فایل snapshot.
  • Source: نحوه راه‌اندازی پشتیبان. Scheduled برای پشتیبان‌های خودکار، Startup برای پشتیبان‌هایی که هنگام شروع برنامه گرفته می‌شوند و Manual برای پشتیبان‌های ساخته‌شده با Back up now.

هر ردیف دو اقدام ارائه می‌دهد:

  • Restore: پایگاه‌داده در حال اجرا را با snapshot انتخاب‌شده جایگزین می‌کند. پیش از جابه‌جایی، یک نسخه ایمنی پیش از بازیابی از پایگاه‌داده فعلی به‌صورت خودکار ذخیره می‌شود. سپس برنامه بسته و مجدداً راه‌اندازی می‌شود تا snapshot اعمال شود. پیش از آغاز بازیابی از شما تأیید خواسته می‌شود.
  • Delete: فایل snapshot را از دیسک حذف می‌کند. پیش از حذف فایل از شما تأیید خواسته می‌شود. این کار قابل بازگشت نیست.

اگر هنوز هیچ snapshotی وجود نداشته باشد، این بخش از شما می‌خواهد Back up now را اجرا کنید یا منتظر چرخه زمان‌بندی‌شده بعدی بمانید.

پشتیبان ابری

بخش Cloud Backup ‏snapshotهای رمزگذاری‌شده برون‌سایتی را توصیف می‌کند که روی سرورهای HandyCafe ذخیره می‌شوند و از هر نصب HandyCafe قابل بازیابی هستند.

این قابلیت با برچسب Coming soon مشخص شده و هنوز در دسترس نیست. کلید و فیلدهای پیکربندی به‌صورت محلی ذخیره می‌شوند تا تنظیمات وقتی این قابلیت برای حساب شما باز شد آماده باشند. فیلدهای موجود عبارت‌اند از Enable cloud backup، گزینه‌ای برای پشتیبان‌گیری از دارایی‌های رسانه‌ای مانند لوگوها، پوسترها و صفحه‌های بیکار، فیلد Endpoint و Bucket / storage zone.

نکته‌های مهم

  • یک بازیابی، برنامه سرور را می‌بندد و مجدداً راه‌اندازی می‌کند. پیش از بازیابی، هر نشست فعال را آگاه کنید.
  • بازیابی همیشه ابتدا یک نسخه ایمنی پیش از بازیابی از پایگاه‌داده فعلی ذخیره می‌کند، بنابراین یک بازیابی را می‌توان با بازیابی همان نسخه ایمنی برگرداند.
  • پوشه پشتیبان را روی فضای ذخیره‌سازی‌ای نگه دارید که برای تعداد snapshotهای تنظیم‌شده در Keep most recent فضای خالی کافی داشته باشد.
  • اجرای یک بررسی یکپارچگی یا یک vacuum روی یک پایگاه‌داده بزرگ ممکن است زمان‌بر باشد. هر بار فقط یک اقدام دستی اجرا می‌شود.