كيفية بناء تعبيرات cron
تعبيرات cron هي الطريقة القياسية لتعريف جداول متكرّرة في Linux ومنصات السحابة وخطوط أنابيب CI/CD ومجدولات المهام. الصياغة مدمجة لكنها غير بديهية — يظهر لك مولّد بصري بدقة متى ستعمل مهمتك.
صياغة cron
يحتوي تعبير cron على 5 حقول:
┌───────────── الدقيقة (0-59)
│ ┌───────────── الساعة (0-23)
│ │ ┌───────────── يوم الشهر (1-31)
│ │ │ ┌───────────── الشهر (1-12)
│ │ │ │ ┌───────────── يوم الأسبوع (0-6، الأحد=0)
│ │ │ │ │
* * * * *
جداول cron الشائعة
| الجدول | التعبير | المعنى |
|---|---|---|
| كل دقيقة | * * * * * |
يعمل كل 60 ثانية |
| كل 5 دقائق | */5 * * * * |
عند :00 و:05 و:10 و:15... |
| كل ساعة | 0 * * * * |
في بداية كل ساعة |
| كل يوم في منتصف الليل | 0 0 * * * |
مرة واحدة يوميًا في 00:00 |
| كل يوم في الساعة 9 صباحًا | 0 9 * * * |
مرة واحدة يوميًا في 09:00 |
| كل يوم اثنين في الساعة 8 صباحًا | 0 8 * * 1 |
أسبوعيًا يوم الاثنين |
| الأول من كل شهر | 0 0 1 * * |
شهريًا في منتصف الليل في اليوم الأول |
| أيام العمل في الساعة 6 مساءً | 0 18 * * 1-5 |
من الاثنين إلى الجمعة |
كيفية بناء تعبير cron
- حدّد جدولك الزمني — استخدم عناصر التحكّم البصرية لتحديد قيم الدقيقة والساعة واليوم والشهر ويوم الأسبوع. أو ابدأ من إعداد مسبق مثل «كل ساعة» أو «كل يوم في منتصف الليل».
- عاين التشغيلات — يعرض المولّد التشغيلات الـ 5 التالية للتحقّق من أن الجدول الزمني صحيح.
- انسخ التعبير — الصقه في crontab الخاص بك أو تكوين CI/CD أو مجدول السحابة.
الأحرف الخاصة
| الحرف | المعنى | المثال |
|---|---|---|
* |
كل قيمة | * * * * * = كل دقيقة |
*/n |
كل n | */15 * * * * = كل 15 دقيقة |
, |
عدة قيم | 0 8,12,18 * * * = 8 صباحًا، الظهر، 6 مساءً |
- |
نطاق | 0 9-17 * * * = كل ساعة من 9 إلى 5 مساءً |
نصائح
- تحقّق دائمًا من التشغيلات التالية — من السهل تخطّي تعبيرات cron. تظهر لك المعاينة بدقة متى ستنطلق المهمة، تحقّق قبل النشر.
- ابدأ من الإعدادات المسبقة — ابدأ بجدول شائع مثل «يومي» أو «بالساعة» واضبط بدلًا من الكتابة من الصفر.
- انتبه إلى المنطقة الزمنية — أوقات cron في المنطقة الزمنية للنظام (عادةً UTC على الخوادم). إذا كنت تريد 9 صباحًا بتوقيت باريس، فإنه
0 7 * * *بـ UTC خلال التوقيت الصيفي. - اختبر بفترات قصيرة — عند إعداد cron جديد، اختبر بـ
*/5 * * * *(كل 5 دقائق) للتأكّد من أنه يعمل، ثم انتقل إلى الجدول النهائي.
الأسئلة الشائعة
ما صيغة تعبير cron؟
يحتوي تعبير cron القياسي على 5 حقول مفصولة بمسافات، تمثّل الدقيقة (0-59) والساعة (0-23) ويوم الشهر (1-31) والشهر (1-12) ويوم الأسبوع (0-6، حيث 0 هو الأحد). تعني العلامة النجمية (*) «كل» قيمة لهذا الحقل.
ماذا تعني */5 في cron؟
تعني صياغة */5 «كل 5». في حقل الدقيقة، تعني */5 كل 5 دقائق (0 و5 و10 و15...). في حقل الساعة، تعني */5 كل 5 ساعات. تعمل في أي حقل.
هل تعبيرات cron متطابقة في جميع المنصات؟
تنسيق الـ 5 حقول قياسي في Linux cron وAWS EventBridge وGitHub Actions ومعظم أنظمة الجدولة. تضيف بعض المنصات حقلًا سادسًا للثواني أو السنة. راجع وثائق منصتك.
كيف أجدول لليوم الأخير من كل شهر؟
لا تحتوي cron القياسية على كلمة مفتاحية «اليوم الأخير». استخدم حلًا بديلًا مثل تشغيل يومي مع فحص تاريخ في برنامجك النصي، أو استخدم امتدادات خاصة بالمنصة (يدعم AWS EventBridge L لـ «last»).