فكّ تشفير تعبير cron والتشغيل التالي
المدخلات
| تعبير cron | 0 9 * * 1-5 |
|---|
فكّ تشفير تعبير cron والتشغيل التالي
حلِّل تعبير cron من خمسة حقول أو اختصار @shorthand واحصل على وصف بالعربية البسيطة للجدول الزمني ومواعيد التشغيل الثلاثة التالية بتوقيت UTC.
المدخلات
تعبير cron
النتائج
أدخل قيمة لعرض النتائج.
الجدول الزمني
التشغيلات الثلاثة التالية (UTC)
فكّ تشفير تعبير cron والتشغيل التالي
تعبير cron هو سلسلة من خمسة حقول تُجدوِل المهام المتكررة على أنظمة شبيهة بـ Unix. تُحلِّل هذه الحاسبة التعبير وتعرض وصفًا بالعربية البسيطة للجدول الزمني، إضافةً إلى مواعيد التشغيل الثلاثة التالية بتوقيت UTC.
بنية تعبير cron
يُطلق المُجدوِل الأمر في كل لحظة تتطابق فيها الحقول الخمسة مع الساعة الحالية. ترتيب الحقول هو:
| الحقل | الموضع | القيم المسموح بها | الأحرف الخاصة |
|---|---|---|---|
| الدقيقة | 1 | 0–59 | * / , - |
| الساعة | 2 | 0–23 | * / , - |
| يوم الشهر | 3 | 1–31 | * / , - |
| الشهر | 4 | 1–12 | * / , - |
| يوم الأسبوع | 5 | 0–7 (0 و7 = الأحد) | * / , - |
الأحرف الخاصة
*— يطابق كل قيمة في الحقل ("كل ساعة"، "كل يوم")*/n— خطوة؛ يطابق كل قيمة n-ثانية (مثل*/15في حقل الدقائق = كل 15 دقيقة)a-b— نطاق؛ يطابق كل قيمة من a إلى b شاملة (مثل1-5في حقل يوم الأسبوع = من الاثنين إلى الجمعة)a,b,c— قائمة؛ يطابق كل قيمة مدرجة (مثل1,15في حقل يوم الشهر = اليوم الأول والخامس عشر)a-b/n— نطاق بخطوة؛ مثل10-50/10يطابق 10 و20 و30 و40 و50
الأنماط الشائعة
| التعبير | المعنى |
|---|---|
* * * * * | كل دقيقة |
*/15 * * * * | كل 15 دقيقة |
0 * * * * | مطلع كل ساعة |
0 9 * * 1-5 | 09:00 UTC في أيام العمل |
30 17 * * 5 | 17:30 UTC كل جمعة |
0 0 1 * * | منتصف الليل UTC في أول كل شهر |
0 0 1 1 * | منتصف الليل UTC في أول يناير من كل عام |
0 0 * * 0 | منتصف الليل UTC كل أحد |
الاختصارات @shorthands
تقبل معظم تطبيقات cron أسماء مختصرة مريحة:
| الاختصار | التعبير المكافئ |
|---|---|
@yearly / @annually | 0 0 1 1 * |
@monthly | 0 0 1 * * |
@weekly | 0 0 * * 0 |
@daily / @midnight | 0 0 * * * |
@hourly | 0 * * * * |
تفاعل يوم الشهر مع يوم الأسبوع
حين يكون كلا حقلَي يوم الشهر ويوم الأسبوع مقيَّدَين (لا يساوي أيٌّ منهما *)، يطبِّق cron دلالة OR: يُطلَق الأمر إذا تحقَّق أيٌّ من الشرطَين. فمثلًا:
0 0 1 * 1
يُطلَق هذا عند منتصف الليل في اليوم الأول من كل شهر وفي كل يوم اثنين—لا فقط في أيام الاثنين الواقعة في اليوم الأول. هذا السلوك منصوص عليه في مواصفة POSIX وتُنفِّذه cron من نوع Vixie، وهي الأكثر انتشارًا.
إذا كان أحد الحقلَين فقط مقيَّدًا، فلا أثر للحقل الآخر، ويعمل الأمر في كل يوم يطابق الحقل المقيَّد.
آلية عمل جدولة cron
في كل دقيقة، يتحقق المُجدوِل مما إذا كان الوقت الحالي يطابق الحقول الخمسة. إن تطابقت، أُطلق الأمر. ولأن أصغر وحدة هي الدقيقة، يكون أقل فاصل زمني ممكن بين تشغيلَين هو دقيقة واحدة.
لا "يستدرك" المُجدوِل التشغيلات الفائتة بشكل افتراضي. إن كان الخادم معطلًا حين انقضى موعد مجدوَل، يُتخطَّى ذلك التشغيل. بعض المُجدوِلات—كـ Kubernetes CronJobs—توفر إعداد startingDeadlineSeconds لاسترداد التشغيلات الفائتة ضمن نافذة زمنية محددة.
اعتبارات المنطقة الزمنية
تفسِّر معظم تطبيقات cron التعابير بالمنطقة الزمنية المحلية للخادم. تُطلق الخوادم المضبوطة على UTC الأوامر في المواعيد التي تُشير إليها التعابير المبنية على UTC. أما الخوادم في مناطق زمنية أخرى، فتُزيح وقت الإطلاق وفق ذلك.
تفسِّر كل من Kubernetes CronJobs وجداول GitHub Actions تعابير cron بتوقيت UTC. تعرض هذه الحاسبة مواعيد التشغيل القادمة بتوقيت UTC؛ إن كان نظامك يستخدم منطقة زمنية مختلفة، فعدِّل بإضافة أو طرح فرق UTC لتلك المنطقة.
الأسئلة الشائعة (FAQ)
ما المقصود بالحقول الخمسة لتعبير cron؟
يتألف تعبير cron من خمسة حقول مفصولة بمسافات بهذا الترتيب: الدقيقة (0–59)، والساعة (0–23)، ويوم الشهر (1–31)، والشهر (1–12)، ويوم الأسبوع (0–7، حيث يمثّل كل من 0 و7 يوم الأحد).
يقبل كل حقل قيمة محددة أو حرف البدل () أو نطاقًا (1-5) أو خطوة (/15) أو قائمة (1,15) أو مزيجًا مثل 1-5/2. والاختصارات—@yearly و@monthly و@weekly و@daily و@hourly—تُوسَّع إلى تعابيرها المكافئة من خمسة حقول.
كيف يتفاعل يوم الشهر مع يوم الأسبوع؟
حين يكون كلا حقلَي يوم الشهر ويوم الأسبوع مقيَّدَين (لا يساوي أيٌّ منهما *)، يطبِّق cron دلالة OR: يُشغَّل الأمر إذا تحقَّق أيٌّ من الشرطَين.
فمثلًا، "0 0 1 * 1" يُطلَق في اليوم الأول من كل شهر وفي كل يوم اثنين معًا—لا فقط في أيام الاثنين الواقعة في اليوم الأول. وإذا كان أحد الحقلَين فقط مقيَّدًا، يُشغَّل الأمر في الأيام المطابقة لذلك الحقل وحده.
هل تُعرَض مواعيد التشغيل التالية بتوقيتي المحلي؟
تعرض هذه الحاسبة جميع مواعيد التشغيل القادمة بتوقيت UTC. تفسِّر معظم تطبيقات cron—سواء crontab على نظام Linux أو CronJobs في Kubernetes أو جداول GitHub Actions—التعبير بتوقيت الخادم المحلي أو بتوقيت UTC.
إن كان عفريت cron لديك يعمل بتوقيت UTC، فإن الأوقات المعروضة هنا ستتطابق مع مواعيد الإطلاق الفعلية. أما إن كان يعمل بمنطقة زمنية مختلفة، فأضف أو اطرح فرق UTC لإجراء التحويل.