مولد تعبيرات Cron
لتعبير Cron خمسة حقول: الدقيقة، والساعة، ويوم الشهر، والشهر، ويوم الأسبوع. التعبير «0 9 * * 1-5» يعني «في الساعة 09:00، من الاثنين إلى الجمعة»، والتعبير «*/15 * * * *» يعني «كل 15 دقيقة».
طريقة الاستخدام
- اكتب تعبير Cron في المربع العلوي، أو اختر إعدادًا جاهزًا، أو املأ الحقول الخمسة واحدًا واحدًا. المربع والحقول مترابطة.
- استخدم أزرار أيام الأسبوع لاختيار الأيام دون كتابة أرقام.
- اقرأ الشرح في قسم «المعنى»، ثم راجع أوقات التشغيل الخمسة القادمة. بدّل بين التوقيت المحلي وUTC لتطابق خادمك.
- اضغط «نسخ التعبير» لنسخه إلى crontab أو جدول CI أو مجدول المهام لديك.
طريقة الحساب
يتكون تعبير Cron القياسي من خمسة حقول تفصل بينها مسافات: الدقيقة (0-59)، والساعة (0-23)، ويوم الشهر (1-31)، والشهر (1-12 أو JAN-DEC)، ويوم الأسبوع (0-6 أو SUN-SAT، و0 و7 كلاهما الأحد).
يقبل كل حقل النجمة لكل القيم، وقائمة مثل 1,15، ونطاقًا مثل 9-17، وخطوة مثل */5 (كل قيمة خامسة) أو 10-30/5. يمكن استخدام الأسماء الإنجليزية للأشهر والأيام، وتتحول الماكروات @hourly و@daily و@weekly و@monthly و@yearly إلى الصيغة ذات الحقول الخمسة.
عندما يُقيَّد يوم الشهر ويوم الأسبوع كلاهما، كما في «0 0 13 * 5»، يعمل Cron إذا تحقق أي منهما، فهذا المثال يعمل في اليوم 13 من كل شهر وفي كل يوم جمعة. وإذا بدأ أحدهما بنجمة فيجب أن يتحقق الاثنان.
تُوجد أوقات التشغيل القادمة بالتقدم يومًا بعد يوم، واختيار الأيام التي تطابق قواعد الشهر واليوم، ثم ترتيب الساعات والدقائق المطابقة في ذلك اليوم. الجدول الذي لا يتحقق أبدًا، مثل 31 فبراير، لا يُظهر أي تشغيل. وتُتخطى الأوقات المحلية غير الموجودة بسبب التوقيت الصيفي.
جداول شائعة
| التعبير | المعنى |
|---|---|
| * * * * * | كل دقيقة |
| */5 * * * * | كل 5 دقائق |
| 0 * * * * | في بداية كل ساعة |
| 0 0 * * * | يوميًا عند منتصف الليل |
| 0 9 * * 1-5 | أيام العمل (الاثنين إلى الجمعة) 09:00 |
| 30 8 * * 1 | كل اثنين 08:30 |
| 0 0 1 * * | أول يوم من كل شهر |
| 0 0 1 1 * | كل سنة في 1 يناير |
أسئلة شائعة
ماذا يعني */5 في Cron؟
إنه خطوة. في حقل الدقيقة يعني */5 كل دقيقة خامسة: 0 و5 و10 وصولًا إلى 55. يبدأ من أول قيمة في الحقل، فـ*/5 في حقل الساعة يعني الساعات 0 و5 و10 و15 و20.
كيف أشغّل مهمة كل يوم عمل الساعة 9 صباحًا؟
استخدم 0 9 * * 1-5: الدقيقة 0، والساعة 9، وأي يوم من الشهر، وأي شهر، ومن الاثنين إلى الجمعة. وإذا كان أسبوع عملك من الأحد إلى الخميس فاستخدم 0 9 * * 0-4.
لماذا تعمل مهمتي في أيام أكثر مما أتوقع؟
عند ضبط يوم الشهر ويوم الأسبوع كليهما يعمل Cron في الأيام التي تطابق أيًا منهما. لتشغيل المهمة في أول اثنين من الشهر فقط، تحقق من التاريخ بسكربت داخل المهمة، لأن Cron القياسي لا يستطيع التعبير عن ذلك.
أي منطقة زمنية يستخدم Cron؟
المنطقة الزمنية للجهاز أو الخدمة التي تشغّله، وهي غالبًا UTC في المجدولات السحابية. استخدم زري «محلي» وUTC لرؤية الاثنين.
هل يدعم ستة أو سبعة حقول أو الرمزين L و#؟
لا. تغطي هذه الأداة الصيغة القياسية ذات الحقول الخمسة التي يستخدمها crontab وGitHub Actions ومعظم مجدولات Linux. صيغ Quartz وAWS التي تضيف الثواني والسنوات ورموزًا مثل ? L W # غير مدعومة.
هل يُرسل أي شيء إلى خادم؟
لا. يجري التحليل والشرح وحساب أوقات التشغيل بالكامل في متصفحك.