إيقاف بحثك عن نمط Cron — هناك مُولِّد لذلك

تحديث في

تعبيرات كرون هي واحدة من تلك الأشياء التي تُستخدم بكثرة ولكن لا يُمكن تذكرها بسهولة. إليك ما تعنيه الحقول الخمسة فعليًا، الأخطاء التي تُصيب الناس، ولماذا يُعدّ مولد تعبيرات كرون عبر الإنترنت الطريقة الأذكى.

توقف عن البحث عن سُنَّة كرون — هناك مولِّد لذلك 1
إعلان · حذف؟

إن الوقت 2 صباحًا. تم تخطيط نشر في الساعة 6 صباحًا. يجب أن تتحقق مجددًا من أن مهمة التوقيت ستنشأ في الوقت الصحيح. لذا تفتح تبويبًا جديدًا وتحاول إدخال "سُنَّة كرون" في جوجل. مرة أخرى.

هذا هو مُحَوِّل للوصول إلى المعرفة. كل مطوّر قد يلمس خادم لينكس على الأقل مرة واحدة — وغالبًا ما يفعل ذلك أكثر مما يرغب في الاعتراف به. تُستخدم عبارات كرون بشكل متكرر، لكن لا يُحفظ التفاصيل. تقع البنية في منطقة غير مريحة بين "البساطة بحيث لا يُستحسن التحقق منها" و"الدقة الكافية لتُخطئ فيها".

هناك طريقة أفضل. استخدم مُولِّد عبارة كرون عبر الإنترنت وأذن للأداة أن تُدير البنية بينما تركز على ما هو مهم حقًا.

لماذا ترفض عبارة كرون الاحتفاظ بها؟

يحتوي كرون على خمسة مجالات. خمسة فقط. ومع ذلك، يُسبب الترتيب مشكلة لكل مرة:

# ┌───────────── minute (0–59)
# │ ┌───────────── hour (0–23)
# │ │ ┌───────────── day of month (1–31)
# │ │ │ ┌───────────── month (1–12)
# │ │ │ │ ┌───────────── day of week (0–6, Sunday=0)
# │ │ │ │ │
  * * * * * command

المسألة ليست أن الأمر صعب — بل أن هناك عددًا كافيًا من الرموز الخاصة لتُثير التباسًا. هل */5 "كل 5 دقائق" أم "في الدقيقة 5"؟ هل 0 9 * * 1-5 تُنفذ في 9 صباحًا أم 9 مساءً؟ ماذا يحدث إذا نسيت أن الأشهر تبدأ من 1 ولكن أيام الأسبوع تبدأ من 0؟

هذه ليست مصاعب تواجه المبتدئين. هذه مصاعب تواجه الجميع. تُعدّ مُكوّنة كرون خاطئة واحدة من الطرق الهادئة لتقديم حادث في البيئة الإنتاجية — النوع الذي لا يُسبب توقفًا فوريًا، بل يُنفذ بشكل سلبي، ويُلاحظ فقط بعد ثلاثة أيام.

الخمسة مجالات، مع التوضيح دون تفاصيل

إليك النسخة العملية:

  • الدقيقة (0–59) — الدقيقة في الساعة التي تُنفذ فيها المهمة. 30 يعني 30 دقيقة من الساعة. */15 يعني كل 15 دقيقة.
  • الساعة (0–23) — يستخدم الوقت بالساعة المُستخدمة في 24 ساعة. 9 هو 9 صباحًا. 17 هو 5 مساءً. لا يوجد تناقض بين صباح ومساء.
  • يوم الشهر (1–31) — أي يوم من التقويم. 1 هو أول يوم من الشهر. 15 هو اليوم 15.
  • الشهر (1–12) — يناير هو 1، ديسمبر هو 12. يمكنك أيضًا استخدام الأسماء: JAN, FEB، إلخ.
  • يوم الأسبوع (0–6 أو 1–7) — يمكن أن يكون الأحد 0 أو 7 بشكل يعتمد على تطبيقك لـ كرون. الاثنين دائمًا يكون 1. هذا هو المجال الذي يسبب أكبر التباس.

الرموز الخاصة التي تهمك

  • * — كل القيم الممكنة (كل دقيقة، كل ساعة، إلخ).
  • */n — كل الن --- (End of output)مُتَوَّسِط. */5 في مجال الدقيقة يعني كل 5 دقائق.
  • a-b — نطاق. 1-5 في مجال يوم الأسبوع يعني من الاثنين إلى الجمعة.
  • a,b,c — قائمة. 1,3,5 تعني الاثنين، الأربعاء، الجمعة.
  • @reboot, @hourly, @daily — تسميات مختصرة. ليست مدعومة في كل الأماكن.

الإغفالات الشائعة التي تُصيب الناس

1. نسيان المنطقة الزمنية

يُنفذ كرون في المنطقة الزمنية المحلية للخادم. إذا كان الخادم في الوقت العالمي (UTC) وتم تواجده في نيويورك، فإن 0 9 * * * لا يُنفذ في 9 صباحًا في نيويورك — بل يُنفذ في 4 أو 5 صباحًا، حسب التغيير في التوقيت (DST). يجب أن تعرف دائمًا المنطقة الزمنية للخادم. يجب أن تعرف دائمًا.

2. استخدام يوم الشهر ويوم الأسبوع معًا

إذا قمت بوضع قيمة في كل من مجال يوم الشهر و مجال يوم الأسبوع (بدلاً من * في أحد المجالين)، فإن معظم تطبيقات كرون تتعامل معها كـ "أو" — يتم تنفيذ المهمة عندما تُحقق أي من الشروط. وهذا ليس ما نريده عادةً.

3. التوقع أن */1 يعني "مرة واحدة"

*/1 هو نفسه كـ *. يعني "كل مرة". لا يوجد طريقة لتمثيل "التشغيل مرة واحدة" في كرون القياسي — لذا يجب استخدام at أو مُزامن نظام systemd واحدي.

4. عدم اختباره قبل النشر

لا يُعطي كرون تغذية فورية. تكتب العبارة، تُحفظ، ثم تنتظر. إذا كانت خاطئة، ستجد ذلك في 3 صباحًا عندما لا يُنفذ النسخ الاحتياطي المُخطط له. لهذا السبب، من المهم استخدام مُحسب التوقيت التالي لـ كرون قبل النشر، حتى لو استغرق 30 ثانية.

استخدم مُولِّد عبارة كرون بدلًا من ذلك

النص المُباشر: توقف عن محاولة كتابة عبارات كرون من الذاكرة. استخدم مُولِّد. ليس هذا ضعفًا — بل هو طريقة تُساعدك على تجنب الأخطاء السلبية في البيئة الإنتاجية.

ال مُولِّد عبارة كرون على IOTools يسمح لك ببناء أي عبارة بصريًا — اختر فترة الدقيقة، الساعات، يوم الأسبوع، وسترى العبارة المُحددة وشرحًا بسيطًا باللغة الإنجليزية للوقت الذي تُنفذ فيه. لا حاجة للحفظ، ولا حاجة لفتح أوراق التوثيق.

بمجرد أن تُحصل على عبارة، قم بتشغيلها عبر مُحسب التوقيت التالي لـ كرون. الصق العبارة، وستحصل على 5 إلى 10 وقت مُخطط له للتشغيل. يستغرق 5 ثوانٍ وسَيُخبرك فورًا إذا أخطأت في تخطيط مهمة التنظيف بحيث تُنفذ كل دقيقة بدلًا من مرة واحدة في اليوم.

التحقق الثاني هو الذي يُستبعد من قبل معظم الناس. لا تُستبعد.

مراجع سريعة: العبارات التي ستستخدمها في الواقع

التعبيرمعنى
* * * * *كل دقيقة
0 * * * *كل ساعة، على الساعة
0 9 * * *كل يوم في الساعة 9:00 صباحًا
0 9 * * 1-5في أيام الأسبوع في الساعة 9:00 صباحًا
*/15 * * * *كل 15 دقيقة
0 0 * * 0في منتصف الليل يوم الأحد
0 0 1 * *في أول يوم من كل شهر في منتصف الليل
30 4 1,15 * *في 1 و15 من كل شهر في الساعة 4:30 صباحًا
0 22 * * 1-5في أيام الأسبوع في الساعة 10:00 مساءً
@dailyمرة واحدة في اليوم في منتصف الليل (بشكل مختصر)
هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟