الحقول الخمسة
تعبير 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 على الخادم.