صيانة قاعدة البيانات
الصيانة التلقائية اليومية
بشكل افتراضي، تتولى إحدى المهام المجدولة المثبتة للمستخدم eranger مسؤولية إدارة قاعدة البيانات:
$ crontab -l | grep expire 0 4 * * * /opt/eranger/bin/eranger-server-expire
وهي تعيد تنظيم البيانات يوميًا عن طريق تشغيل وظيفة PostgreSLQ autovacuum بحيث يمكن الوصول إلى البيانات بشكل أسرع.
يتم التكوين في تكوين خادم SKOOR:
/etc/opt/eranger/eranger-server.cfg
المعلمات ذات القيم الافتراضية:
# Expire script config values expire_days_long = 366 expire_days_short = 31 expire_row_limit=
اسم المعلمة | الوصف |
|---|---|
expire_days_long | يحدد عدد الأيام التي يتم فيها الاحتفاظ بمدخلات قاعدة البيانات التالية:
|
expire_days_short | يحدد عدد الأيام التي يتم خلالها الاحتفاظ برسائل أخطاء المهام في قاعدة البيانات. إذا تم حذفه، فسيتم تعيينه على عدد الأيام |
expire_row_limit | الحد الأقصى لعدد الصفوف التي يمكن حذفها دفعة واحدة من قاعدة البيانات للمدخلات التالية. إذا تم حذفها، فسيتم حذف الصفوف دون حدود:
|
إعادة كتابة الجدول بالكامل يدويًا
ومع ذلك، لا يقوم autovacuum بعد بحذف بيانات الجدول التي تم حذفها من قبل المستخدمين. لحذف البيانات غير المستخدمة وإعادة كتابة جميع الجداول، يجب استخدام وظيفة vacuum full. لا يمكن تشغيل vacuum full إلا عند إيقاف خدمة eranger-server.
لتشغيل وظيفة التنظيف الكامل، قم بتشغيل البرنامج النصي التالي:
/opt/eranger/bin/eranger-db-housekeeping.sh *** ATTENTION! This script will block eranger-server for a very long time! *** Do you really want to execute this script on database "ng" ? Yy/[Nn]: n
أجب بـ y على السؤال أعلاه. ستستمر العملية لعدة ساعات، اعتمادًا على كمية البيانات المخزنة في قاعدة البيانات.
يوصى بتشغيل هذه الوظيفة مرة واحدة على الأقل كل عام.