Toolyard

ما تعبير cron؟

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

تعبير cron خمسة حقول تفصل بينها مسافات تخبر مجدول المهام متى يشغّل شيئًا:

بالترتيب، من اليسار إلى اليمين كما تُكتب:

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

تُشغَّل المهمة كلما طابق الوقت الحالي كل الحقول.

الأحرف الخاصة

  • * أي قيمة.
  • , قائمة: 1,15 هو اليوم 1 واليوم 15.
  • - نطاق: 1-5 هو من الاثنين إلى الجمعة في الحقل الأخير.
  • / خطوة: */10 في حقل الدقائق هو كل 10 دقائق.

جداول شائعة

*/5 * * * *كل 5 دقائق
0 * * * *كل ساعة تمامًا
0 0 * * *كل يوم عند منتصف الليل
30 8 * * 1-5الساعة 08:30 في أيام العمل (من الاثنين إلى الجمعة)
0 0 1 * *عند منتصف الليل في اليوم 1 من كل شهر
0 3 * * 0الساعة 03:00 كل أحد

الصق أي تعبير في شارح تعابير cron لتقرأه بالكلمات وترى مرات تشغيله التالية.

ما يسبب الالتباس عادةً

  • المنطقة الزمنية: يستخدم cron ساعة الخادم، التي تكون غالبًا بتوقيت UTC.
  • يوم الشهر ويوم الأسبوع معًا: إن وُجد الاثنان، تُشغَّل المهمة حين يطابق أي منهما، لا كلاهما.
  • الثواني: لا يحتوي cron القياسي على حقل للثواني. بعض الأنظمة، مثل Quartz وSpring، تضيف حقلًا في البداية، فتصبح ستة حقول.

تعبيرات لا تفعل ما يبدو

التعبيرالمقصودما يُنفَّذ فعلًا
0 9 1-7 * 1الساعة 09:00 في أول يوم اثنينالساعة 09:00 كل يوم من 1 إلى 7، وكل يوم اثنين
*/15 9-17 * * 1-5كل 15 دقيقة، من 9 إلى 17من 09:00 إلى 17:45 في أيام العمل، بما فيها الساعة 17
0 0 31 * *آخر يوم من الشهرفقط في الأشهر السبعة ذات الـ 31 يومًا
0 0 29 2 *مرة في السنةفقط في السنوات الكبيسة

لأول يوم اثنين، شغّله في الأيام من 1 إلى 7 وتحقق من يوم الأسبوع داخل السكربت.

الاختصارات

تقبل نسخ كثيرة من cron أسماء مستعارة: @hourly و@daily و@weekly و@monthly و@yearly و@reboot، الذي يُنفَّذ مرة عند تشغيل الجهاز.

التوقيت الصيفي

على خادم بالتوقيت المحلي، قد تُتخطى مهمة مجدولة بين 01:00 و03:00 في الليلة التي تُقدَّم فيها الساعة، أو تُنفَّذ مرتين حين تُؤخَّر، بحسب نسخة cron. جدول المهام المهمة خارج تلك الساعات، أو استخدم UTC على الخادم.

أدوات هذا الدليل

مزيد من الأدلة