التحديثات التلقائية عبر cronjob - هل هذا آمن؟

أفكر في تحديث Discourse تلقائيًا عبر مهمة مجدولة (cronjob). على سبيل المثال، كل أسبوعين في الليل، مهمة مجدولة كالتالي:

cd /var/discourse
./launcher rebuild app

هل تعتقد أن هذا آمن للقيام به؟ أم يجب أن أقوم بذلك يدويًا؟

من الممكن أن يحدث خطأ ما وتترك موقعك معطلاً. أوصي بأن تولي اهتمامًا عند القيام بذلك.

نعم. كنت أفكر في إرسال كل مخرجات البناء عبر البريد، حتى أتمكن من التحقق في الصباح.

شخصيًا، أفعل الشيء نفسه تمامًا مع مواقعي، لكني أستخدم التثبيت المكون من حاويتين في حال فشل التمهيد.

فقط إذا اكتمل التمهيد بنجاح، يتوقف الحاوية القديمة ويبدأ الحاوية الجديدة.

حتى الآن لم أواجه أي مشاكل.

كما قال جاي، في حالات نادرة، يمكن أن يسبب التحديث مشاكل (سواء في نواة Discourse نفسها أو مع الإضافات/المكونات).
لقد شاهدت ذلك يحدث بضع مرات على مدار بضع سنوات. إنه نادر جدًا، وتتم إصلاحاته بسرعة، ولكن بسبب ذلك، أميل إلى جمع المعلومات حول التحديثات (والتحقق من فئة Contribute > Bug :eyes:) قبل إعادة بناء مثيلات منصتي. غالبًا ما أنتظر بضع أيام بعد الإصدار الرسمي للنسخة الجديدة.

وقم أحيانًا بتشغيل ./launcher cleanup أيضًا.

لذلك، أفضل التحديث عندما أريد ذلك وبعد جمع المعلومات. لديّ إمكانية التحكم في الأضرار المحتملة، وهذا أكثر أمانًا.

هل هناك أي جديد بخصوص هذا في عام 2026؟

أرغب في تطبيق تحديثات الأمان في أسرع وقت ممكن (حتى مع خطر تعطل موقع إنتاجي بسبب التحديث غير المراقب). في الواقع، لا يميز Discourse بين تحديثات الأمان والتحديثات الأخرى.. لذلك لا أمانع في تحديث كل شيء كل يوم. هل لا يزال cron job هو الطريقة المثلى؟

أنا شخصياً لن أفعل ذلك. من ناحية، أنا لا أحتاج حتى إلى التحديث شهريًا للحصول على إصلاحات أمنية - أي أنني أقرأ ملاحظات الإصدار وأتخذ قرارًا. من ناحية أخرى، إذا قمت بالتحديث يوميًا، فستواجه المزيد من المرات النادرة التي سيفشل فيها الأمر. سيكون لديك وقت تعطل أكثر، بالتأكيد.

إذا لم تمانع في أن مهمة cron ستقتل المنتدى في بعض الأحيان، حتى يأتي شخص ماهر لإصلاحه، فبالتأكيد، قم بتشغيل مهمة cron. ولكن ضع في اعتبارك أن الشخص الماهر قد يحتاج إلى إشراك المطورين هنا والانتظار لساعات أخرى حتى يتم تشخيص المشكلة وإصلاحها.

لم يكسر تحديث ديسكورش منتوئي الخاص بي في السنوات الأربع الماضية، لذا لست قلقًا. إذا حدث ذلك نادرًا، يمكنني تحمل ذلك.

قلقِي الأكبر يتعلق بالأمان، والأحداث الأخيرة (مثل حزم npm الخاصة بـ Axios قبل أسبوع…) مع ثغرات المكتبات تشير إلى أننا قد نرغب في تحديث المكتبات بعد 7 أيام من الإصدار الجديد.

لو كان من الممكن تحديث الأمور المتعلقة بالأمان فورًا والباقي بعد تأخير 7 أيام، لكان ذلك مثاليًا على الأرجح، لكنني لا أعتقد أن هذا مدعوم في ديسكورش.

قد لا يؤدي مشكلة في التحديث إلى تعطل المنتدى فحسب، بل قد يتسبب أيضًا في إدخال أخطاء جديدة بصمت، أو وظائف معطلة، أو عدم توافق الإضافات أو المكونات، إلخ — رغم أن ذلك نادر الحدوث.

حتى إذا زاد التكرار الكبير لتحديثات منتداك من مخاطر التعرض لتعطلات أو أخطاء، فيمكنك دائمًا مراقبة النتائج والعودة إلى الإصدار السابق إذا واجهت العديد من الإزعاجات.

ما أقصده هو أنه بينما قد لا تكون هذه الفكرة الأفضل وفقًا لبعض الآراء، إلا أنها ليست محفوفة بالمخاطر حقًا أيضًا.