المطورين

محلل تعبيرات Cron

الصق أي تعبير cron مكوّن من 5 حقول واعرف فورًا ماذا يعني بلغة بسيطة — لا مزيد من تحديق العينين في النجوم والشرطات المائلة لمعرفة موعد تشغيل المهمة.

هل ساعدتك هذه الأداة؟

ما هي محلل تعبيرات Cron؟

Cron هو صيغة الجدولة القياسية المستخدمة في مهام cron الخاصة بأنظمة Unix/Linux، وخطوط أنابيب CI/CD، ومهام Kubernetes CronJob، وعدد لا يُحصى من مجدولات المهام. يجمع تعبير cron جدولاً متكرراً كاملاً في خمسة حقول مدمجة، مما يمنحه قوة لكنه يصعب قراءته بنظرة سريعة — فهل "0 */4 * * 1-5" يعني كل 4 ساعات في أيام العمل أم شيئاً آخر تماماً؟ يقوم هذا المحلل بتفكيك تعبير cron حقلاً بحقل وترجمته إلى جملة واضحة، حتى تتمكن من التحقق من صحة الجدول قبل نشره، أو فهم جدول كتبه شخص آخر بسرعة دون الحاجة للرجوع إلى جدول مرجعي لصيغة cron.

متى تستخدم هذه الآلة الحاسبة

  • عند التحقق من جدول cron قبل نشر مهمة مجدولة أو خط أنابيب CI/CD
  • عند تشخيص سبب تشغيل مهمة مجدولة (أو عدم تشغيلها) في وقت غير متوقع
  • عند مراجعة Kubernetes CronJob أو جدول GitHub Actions كتبه زميل في الفريق
  • عند تعلم صيغة cron لدورة في إدارة الأنظمة أو شهادة DevOps
  • عند تدقيق إدخالات crontab الحالية أثناء ترحيل خادم
  • عند تصميم نمط جدولة معقدة يجمع بين قيود زمنية متعددة

الخطوات:

  1. الصق أو اكتب تعبير cron مكوّنًا من 5 حقول في حقل الإدخال.
  2. شاهد كل حقل مفصّلًا على حدة مع معناه.
  3. اقرأ الترجمة البسيطة للجدول الكامل.
  4. جرّب زر إعداد مسبق لجداول شائعة مثل "كل ساعة" أو "أيام العمل الساعة 9 صباحًا".

الصيغة

┌───────────── الدقيقة (0-59) │ ┌───────────── الساعة (0-23) │ │ ┌───────────── يوم الشهر (1-31) │ │ │ ┌───────────── الشهر (1-12) │ │ │ │ ┌───────────── يوم الأسبوع (0-6، الأحد=0) │ │ │ │ │ * * * * *

حالات الاستخدام

  • التحقق من جدول cron قبل نشر مهمة مجدولة أو خط أنابيب CI/CD
  • فهم مورد CronJob في Kubernetes أو دالة مجدولة بلا خادم كتبها زميل
  • تشخيص سبب تشغيل مهمة مجدولة (أو عدم تشغيلها) في وقت غير متوقع
  • تعلّم صيغة cron لمادة دراسية في إدارة الأنظمة أو DevOps
  • مراجعة إدخالات crontab الحالية أثناء ترحيل خادم

الفوائد الرئيسية

  • يترجم صيغة cron الغامضة فورًا إلى لغة بسيطة
  • يفصّل كل حقل من الحقول الخمسة على حدة لمزيد من الوضوح
  • إعدادات مسبقة بنقرة واحدة لأنماط الجدولة الأكثر شيوعًا
  • لا حاجة للتسجيل، ويعمل بالكامل داخل متصفحك

نصائح احترافية

  • عند الشك، اختبر أولًا بوقت قريب جدًا للتأكد من أن الجدول يعمل كما هو متوقع
  • استخدم النطاقات (1-5) بدلًا من سرد كل قيمة بفواصل عند الإمكان، لتحسين قابلية القراءة
  • تحقق من إعداد المنطقة الزمنية لخادمك أو مجدولك — فهو المصدر الأكثر شيوعًا لأخطاء cron المتعلقة بـ "التوقيت الخاطئ"
  • لأي شيء أكثر تعقيدًا من جدول يومي/أسبوعي بسيط، اكتب الوصف باللغة البسيطة وقارنه بنيتك قبل النشر

الأخطاء الشائعة التي يجب تجنبها

  • نسيان أن يوم الشهر ويوم الأسبوع يُجمعان بـ OR وليس AND
  • الخلط بين ترقيم يوم الأسبوع الذي يبدأ من 0 (0=الأحد) واصطلاحات أنظمة أخرى تبدأ من 1
  • افتراض أن */7 في حقل يوم الشهر تعني "كل 7 أيام" — بل تعني فعليًا الأيام 1، 8، 15، 22، 29، مع إعادة البدء كل شهر
  • نسيان أن معظم تطبيقات cron تعمل بالمنطقة الزمنية المحلية للخادم، وليس بتوقيت UTC أو منطقة زمن المستخدم

شرح المصطلحات الأساسية

Cron: مجدول مهام قائم على الوقت يُستخدم في أنظمة التشغيل الشبيهة بـ Unix
Crontab: الملف أو الأمر المستخدم لتعريف قائمة من مهام cron
قيمة الخطوة (Step value): صيغة "/N" التي تعني "كل N وحدات" بدءًا من الحد الأدنى لقيمة الحقل
CronJob: المورد الأصلي في Kubernetes لتشغيل المهام المجدولة بتعبيرات cron

مفاهيم ذات صلة

  • حاسبة الفرق في الوقت: حساب المدة بين تاريخين ووقتين
  • حاسبة الأيام حتى: عد الأيام حتى تاريخ محدد
  • محول الطوابع الزمنية: التحويل بين الطوابع الزمنية Unix والتواريخ
  • حاسبة تداخل المناطق الزمنية: العثور على تداخل ساعات العمل عبر المناطق الزمنية
  • منسق JSON: تنسيق والتحقق من بيانات JSON

مثال

يُفَكَّك التعبير "0 9 * * 1-5" إلى: الدقيقة=0، الساعة=9، كل يوم من الشهر، كل شهر، من الاثنين إلى الجمعة — أي "الساعة 09:00، من الاثنين إلى الجمعة".

تفسير نتائجك

يقوم المحلل بتفكيك تعبير cron المكوّن من 5 حقول إلى مكوناته الفردية وترجمة كل منها إلى لغة بسيطة. الحقول الخمسة هي: الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، ويوم الأسبوع (0-6، حيث 0 هو الأحد). تُشغَّل المهمة عندما تتطابق جميع الحقول الخمسة مع الوقت الحالي — وهو منطق AND بين الحقول. انتبه بشكل خاص للتفاعل بين يوم الشهر ويوم الأسبوع، الذي يستخدم منطق OR (وليس AND). مهمة مجدولة بيوم 15 ويوم أسبوع 5 ستعمل في كلا الحالتين: اليوم الخامس عشر من كل شهر وكل يوم جمعة — وليس فقط أيام الجمعة التي تحل في الخامس عشر. هذا مصدر شائع لأخطاء الجدولة.

الأسئلة الشائعة

ما هي الحقول الخمسة في تعبير cron؟
بالترتيب: الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، ويوم الأسبوع (0-6، حيث 0 يمثل الأحد). تُشغَّل المهمة عندما تتطابق جميع الحقول الخمسة مع الوقت الحالي.
ماذا تعني علامة النجمة (*) في صيغة cron؟
تعني علامة النجمة "أي قيمة مسموح بها" لذلك الحقل. على سبيل المثال، تعني * في حقل الساعة أن المهمة يمكن أن تُشغَّل في أي ساعة، أي أن هذا الحقل لا يقيّد الجدولة فعليًا.
ماذا تعني */5؟
تشير الشرطة المائلة إلى قيمة الخطوة (step). تعني */5 في حقل الدقائق "كل 5 دقائق" — بدءًا من الحد الأدنى لقيمة الحقل وتتكرر كل 5 وحدات.
كيف أجدول مهمة لأيام العمل فقط؟
استخدم نطاقًا في حقل يوم الأسبوع: 1-5 يمثل الاثنين إلى الجمعة. عند دمجه مع ساعة ودقيقة محددتين، فإن "0 9 * * 1-5" مثلًا يعمل الساعة 9:00 صباحًا كل يوم عمل.
ماذا تعني الفاصلة (,) في صيغة cron؟
تفصل الفاصلة بين قيم متعددة في حقل واحد. على سبيل المثال، تعني 0,15,30,45 في حقل الدقائق أن المهمة تُشغَّل عند الدقائق 0 و 15 و 30 و 45. الفاصلة تعني "أو" بسيط: تعمل المهمة عند أي من القيم المدرجة.
ما هو الشرط الناقص (-) في صيغة cron؟
يُعرِّف الشرط الناقص نطاقًا من القيم. على سبيل المثال، تعني 1-5 في حقل يوم الأسبوع من الاثنين إلى الجمعة (الأيام 1 إلى 5). النطاقات تشمل كلا النهايتين. يمكنك دمج النطاقات مع صيغ أخرى: 1-5,0 تعني من الاثنين إلى الجمعة بالإضافة إلى الأحد.
كيف أجدولة مهمة للعمل كل أسبوعين؟
لا يدعم cron القياسي الجدولة أسبوعيًا بشكل أصلي. لديك خياران: (1) استخدام سلسلة أطر عمل تتحقق من التاريخ وتنفذ كل أسبوعين فقط، أو (2) استخدام مجدول مهام يدعم تعبيرات أكثر تعقيدًا مثل AWS EventBridge أو مؤقتات النظام مع محفزات قائمة على التقويم.
ما المنطقة الزمنية التي يستخدمها cron؟
يستخدم cron القياسي المنطقة الزمنية المحلية للخادم. إذا كان خادمك مهيأًا لـ UTC، تعمل جميع مهام cron بتوقيت UTC بغض النظر عنالمنطقة الزمنية المحلية. تحقق دائمًا من إعداد المنطقة الزمنية للخادم، خاصة في بيئات السحابة حيث قد لا يتطابق الافتراضي مع منطقتك الزمنية المتوقعة.
ما الفرق بين cron و crontab؟
Cron هو الخدمة الخلفية (الديمون) التي تُنفّذ المهام المجدولة. Crontab هو ملف الإعدادات (أو الأمر) الذي يُعرِّف قائمة مهام cron. عندما تقوم بتعديل crontab، أنت تكتب تعريفات الجدولة التي يقرأها ويُنفّذها ديمون cron.
كيف أتعامل مع التوقيت الصيفي مع cron؟
معظم تطبيقات cron لا تُعدّل التوقيت الصيفي تلقائيًا. عندما تتقدم الساعة، قد يتم تخطي مهمة مجدولة الساعة 2:00 صباحًا تمامًا. عندما تتراجع الساعة، قد تُشغَّل المهمة مرتين. لتجنب مشاكل التوقيت الصيفي، جدول المهام خارج ساعات الانتقال (2:00-3:00 صباحًا) أو استخدم جدولة قائمة على UTC.
هل يمكنني استخدام cron لفترات أقل من دقيقة؟
يتمتع cron القدرة على الدقيقة فقط ولا يمكنه جدولة المهام بشكل أكثر تكرارًا من مرة واحدة في الدقيقة. للفترات الأقل من دقيقة، استخدم بدائل مثل مؤقتات systemd، أو Kubernetes CronJobs مع فترات أقصر، أو مجدولات على مستوى التطبيق (node-cron مع دعم الميلي ثانية).

اكتشف المزيد من الأدوات

تشكيلة جديدة من مكتبتنا الكاملة للأدوات.