Discourse-health-check: نظرة عامة على سطر الأوامر لمرة واحدة لخادم Discourse الخاص بك

نص باء صغير أنشأته لمنتدى الخاص بي يعطي نظرة عامة سريعة على صحة خادم Discourse. أشاركه مع أي شخص يجد هذا النوع من النظرة العامة مفيدًا.

التحقق من موارد النظام: Docker، خدمات Discourse (Postgres، Redis، Nginx، Unicorn، Sidekiq)، حداثة النسخ الاحتياطي، TLS، والأساسيات الأمنية. ينتهي بملخص نجاح / تحذير / حرج ورمز مخرج مناسب لـ cron.

التثبيت

curl -O https://raw.githubusercontent.com/haydenjames/discourse-health-check/main/discourse-health-check.sh
chmod +x discourse-health-check.sh
sudo ./discourse-health-check.sh
```\nالمصدر، الخيارات، ومثال cron في ملف README:

https://github.com/haydenjames/discourse-health-check



---

## **[الإصدار الجديد v1.0.4](https://github.com/haydenjames/discourse-health-check/)**:

إصلاحان:

1. استبدل Discourse Unicorn بـ Pitchfork (افتراضي في 2026.2، وإزالة Unicorn بالكامل
   في 2026.4)، لذا فإن فحص خادم الويب يكتشف الآن كليهما. شكرًا لـ @RGJ على تنبيه هذا
   في يونيو.

2. كانت استعلامات الخدمة تطابق سطر الأوامر الخاص بها. `pgrep -f <name>` لذا كان pgrep يطابق نفسه ومرت الفحص سواء كان الخدمة تعمل فعليًا أم لا. **كان Sidekiq يبلغ عن "يعمل" بشكل غير مشروط منذ 1.0.0**. كان يمكن أن يكون ميتًا وما زلت تحصل على علامة خضراء ورمز مخرج 0 من cron. نفس السبب الجذري لنتيجة Puma الإيجابية الكاذبة في 1.0.1، والتي اتضح أنها أعيدت تسميتها بدلاً من إصلاحها.
9 إعجابات

لا يعمل ديسكورش باستخدام بيما.

3 إعجابات

يونيكورن. تم الإصلاح، شكرًا لك.

إعجاب واحد (1)

بيتشفورك في أيامنا هذه!!

إعجابَين (2)

عرض رائع، شكرًا لك!

بالنسبة للنسخ الاحتياطية، أقترح التحقق من أحدث نسخة احتياطية لمعرفة ما إذا تم قراءتها منذ كتابتها. يُعد ذلك مؤشرًا للتحقق مما إذا تم نسخها إلى موقع خارجي. (أو، إذا لم تكن تتحقق من أحدث نسخة، فربما تحقق من جميع النسخ.)

إذا لم يتم نسخ أي نسخة احتياطية إلى موقع خارجي خلال أسبوع، فإن ذلك يستحق التنبيه.

(أعتقد أنه يمكنك طرح stat -c %Y من stat -c %X أو ربما مجرد المقارنة بينهما. ستكون القيم مختلفة إذا تم قراءة ملف النسخة الاحتياطية منذ كتابته.)

5 إعجابات

@Ed_S اقتراح رائع. تمت الإضافة في الإصدار 1.0.2. يقارن بين atime و mtime في النسخة الاحتياطية الأحدث ويصدر تحذيرًا إذا لم يُقرأ الملف منذ كتابته، مع فحص noatime لتجاوز الحالات التي يكون فيها atime غير موثوق به بشكل نظيف. تم ذكر اسمك، شكرًا لك!

4 إعجابات