صيانة قاعدة البيانات

الصيانة التلقائية اليومية

بشكل افتراضي، تكون إحدى وظائف cronjob المثبتة للمستخدم eranger مسؤولة عن التدبير المنزلي لقاعدة البيانات:

$ crontab -l | grep expire
0 4 * * * /opt/eranger/bin/eranger-server-expire

يقوم بإعادة تنظيم البيانات يوميًا عن طريق تشغيل وظيفة التفريغ التلقائي PostgreSLQ بحيث يمكن الوصول إلى البيانات بشكل أسرع.

يتم التكوين في تكوين خادم 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

الحد الأقصى للصفوف المراد حذفها مرة واحدة من قاعدة البيانات للإدخالات التالية. إذا تم حذفه، سيتم حذف الصفوف بدون حد أقصى:

  • رسائل الإنذار

  • رسائل الإنذار المرسلة

  • الإنذارات

  • سجل التغيير

  • الصيانة

  • المستخدمون

إعادة كتابة الجدول الكامل يدوياً

ومع ذلك، لا يقوم التفريغ التلقائي بحذف بيانات الجداول التي تم حذفها من قبل المستخدمين. لحذف البيانات غير المستخدمة وإعادة كتابة جميع الجداول، يجب استخدام وظيفة التفريغ الكامل. لا يمكن تشغيل التفريغ الكامل إلا عند إيقاف خدمة خادم 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 على السؤال أعلاه. سيتم تشغيل العملية لعدة ساعات، اعتمادًا على كمية البيانات المخزنة في قاعدة البيانات.

يوصى بتشغيلها سنوياً على الأقل.