شرح تعبيرات Cron: الحقول والمناطق الزمنية والجدولة الآمنة
10 أغسطس 2026 قراءة 3 دقائق

شرح تعبيرات Cron: الحقول والمناطق الزمنية والجدولة الآمنة

تعلّم كيف تعمل جداول Cron ذات الحقول الخمسة ولماذا تهم المنطقة الزمنية والتوقيت الصيفي وكيف تراجع التشغيلات القادمة قبل النشر.

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

الحقول الخمسة القياسية

الصيغة الشائعة هي الدقيقة الساعة يوم-الشهر الشهر يوم-الأسبوع. يعني 30 8 * * 1-5 الدقيقة 30 والساعة 8 من الاثنين إلى الجمعة. النجمة تعني كل القيم، والفاصلة تنشئ قائمة، والشرطة نطاقاً، والشرطة المائلة خطوة مثل */15.

الحقلالنطاقمثال
الدقيقة0–59*/15
الساعة0–238
يوم الشهر1–311
الشهر1–121,7
يوم الأسبوع0–71-5

الجمع بين يوم الشهر ويوم الأسبوع

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

المنطقة الزمنية جزء من الجدول

لا يصف 0 9 * * * الساعة التاسعة بشكل كامل قبل معرفة المنطقة الزمنية. تستعمل خوادم ومنصات كثيرة UTC، بينما يقصد العمل توقيت الدار البيضاء أو باريس أو نيويورك. بعض المنصات تسمح بتحديد المنطقة، وأخرى تتطلب تحويل الوقت المطلوب إلى UTC.

عند تغيير التوقيت الصيفي قد تختفي ساعة محلية أو تتكرر مرتين. تكشف المعاينة الواعية بالمنطقة التواريخ الفعلية القادمة، لكن المنصة هي التي تقرر هل تتخطى الوقت أو تؤخره أو تكرره.

أمثلة للمراجعة

  • */15 * * * *: كل 15 دقيقة.
  • 0 9 * * *: يومياً عند التاسعة بتوقيت المجدول.
  • 30 8 * * 1-5: أيام العمل عند 08:30.
  • 0 0 1 * *: منتصف ليلة أول يوم من الشهر.
  • 0 2 * * 0: الأحد عند الثانية مع الانتباه للتوقيت الصيفي.

قائمة تحقق قبل الإنتاج

  1. تأكد هل المنصة تتوقع خمسة أو ستة أو سبعة حقول.
  2. تأكد من المنطقة الزمنية وسلوك التوقيت الصيفي.
  3. احسب خمسة مواعيد قادمة على الأقل وراجع حدود الشهر والسنة.
  4. شغل الأمر يدوياً بالمستخدم ومتغيرات البيئة ومجلد العمل نفسها.
  5. امنع تداخل تشغيلين أو اجعل المهمة قابلة للتكرار دون ضرر.
  6. سجل البداية والنهاية والمدة والأخطاء.
  7. راقب التشغيلات المفقودة، لا أخطاء الأمر فقط.

Cron لا يضمن التنفيذ

يحدد Cron متى تصبح المهمة مؤهلة للبدء. قد يمنعها توقف الجهاز أو الحاوية أو استمرار تشغيل سابق أو عطل المنصة. تحتاج النسخ الاحتياطية والفوترة والتنبيهات المهمة إلى retries وتصميم idempotent ومراقبة مستقلة.

الأمان

استعمل مسارات مطلقة وامنح أقل صلاحيات ممكنة واحفظ الأسرار في بيئة محمية، لا داخل التعبير أو سطر الأمر. تعامل مع أي بيانات تدخل في أمر shell كبيانات غير موثوقة. صحة الجدول لا تعني أن الأمر آمن.

راجع لهجة المنصة

يوثق دليل crontab في Linux السلوك التقليدي، لكن GitHub Actions وKubernetes وVercel والمنصات السحابية لها قواعدها. استعمل محلل ToolBlur لفهم صيغة قياسية من خمسة حقول ثم راجع وثائق النظام الذي سينفذها.

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

أدوات مذكورة في هذا المقال

مقالات أخرى