محول مجاني

مُنشئ تعبيرات Cron

أنشئ وفسّر وتحقق من تعبيرات cron فورًا في متصفحك. منشئ مرئي ومحلل تعبيرات — مجاني وخاص ويعمل على جانب العميل.

تعبير Cron
0 */6 * * *
وصف بلغة بشرية
Every minute
أوقات التشغيل الخمسة التالية
Calculating...

حول هذه الأداة

تعبيرات Cron عبارة عن خمسة (أو ستة، اعتمادًا على النظام) حقول مفصولة بمسافات تصف الجدول الزمني: الدقيقة والساعة واليوم من الشهر والشهر واليوم من الأسبوع. يقبل كل حقل القيم الرقمية والنطاقات والقوائم والزيادات وأحرف البدل. لقد كان Cron هو تنسيق جدولة Unix الفعلي منذ أواخر سبعينيات القرن العشرين، ويستخدم الآن بشكل يتجاوز Unix - بواسطة Kubernetes CronJobs، وGitHub Actions، وقواعد AWS EventBridge، وJenkins jobs، وكل نظام جدولة آخر في الإنتاج تقريبًا.

إن قراءة وكتابة تعبيرات cron يدويًا عرضة للخطأ. الحقول موضعية، والتفاعل بين يوم من الشهر ويوم من الأسبوع غير واضح (القيمة في أي من الحقلين تؤدي إلى تشغيل المهمة، وليس كليهما)، وتنتج الأخطاء بصمت جداول تبدو صحيحة ولكنها تنطلق في أوقات خاطئة. يتجنب المولد الذي يترجم جداول اللغة الإنجليزية البسيطة إلى بناء جملة cron الصحيح هذه الأخطاء.

توفر هذه الأداة اتجاهين: إنشاء تعبير cron من نموذج مألوف (كل يوم اثنين في الساعة 9 صباحًا، وكل 5 دقائق خلال ساعات العمل)، وشرح تعبير cron الموجود من الناحية البشرية. كلاهما يعمل في متصفحك دون أي تفاعل مع الخادم.

لماذا استخدام مولد كرون

بناء جملة كرون كثيف ولا يرحم. تتضمن الأخطاء الشائعة الارتباك في ترقيم أيام الأسبوع (الأحد هو 0 أو 7 حسب النظام)، ونسيان استخدام يوم من الشهر ويوم من الأسبوع أو دلالات الدلالات، وسوء فهم بناء الجملة المتزايد (*/5 يعني كل 5 بدءًا من 0). يلتقط المولد هذه العناصر من خلال البناء - تتطابق التعبيرات المنتجة مع ما وصفته في النموذج.

قراءة التعبيرات الموجودة أمر صعب بنفس القدر. يتم قراءة جدول مثل 0 9 * * 1-5 كل يوم من أيام الأسبوع في الساعة 9 صباحًا بمجرد معرفة بناء الجملة، ولكن يجب على أي شخص غير معتاد على cron البحث عن كل حقل. يعد شرح التعبير من الناحية البشرية أسرع من تعلم بناء الجملة للتفاعلات لمرة واحدة.

كيفية الاستخدام

اختر نمط الجدول الزمني، واحصل على تعبير cron.

  1. اختر وضع التوليد: أنشئ تعبير cron من مدخلات النموذج (التكرار، الوقت، الأيام)، أو اشرح تعبيرًا موجودًا من الناحية البشرية.
  2. تكوين الجدول الزمني: اختر التردد (كل دقيقة، كل ساعة، كل يوم، كل أسبوع، كل شهر، مخصص). حدد الأوقات والأيام والفواصل الزمنية حسب الحاجة. يقيد النموذج المدخلات إلى مجموعات صالحة.
  3. توليد أو شرح: ينتج الجيل بناء جملة cron القياسي (5 حقول). يقسم الشرح كل حقل ويعطي ملخصًا يمكن قراءته بواسطة الإنسان.
  4. استخدامها في الجدول الزمني الخاص بك: الصق التعبير الذي تم إنشاؤه في مواصفات Kubernetes CronJob، أو جدول GitHub Actions، أو AWS EventBridge، أو جدولة النظام الأساسي الخاص بك.

حالات الاستخدام الشائعة

التفاصيل الفنية

يحتوي cron القياسي على خمسة حقول: الدقيقة (0–59)، الساعة (0–23)، يوم الشهر (1–31)، الشهر (1–12)، يوم الأسبوع (0–6 أو 0–7، كلاهما الأحد). يقبل كل حقل قيمة واحدة، أو قائمة مفصولة بفواصل، أو نطاق بواصلة، أو زيادة بـ /، أو حرف بدل بـ *.

استخدام يوم من الشهر ويوم من الأسبوع أو دلالات: إذا تم تعيين أي منهما على قيمة غير أحرف البدل، فسيتم تشغيل المهمة عند تطابق أي منهما. يعد هذا أمرًا غير بديهي ولكنه يتطابق مع سلوك POSIX cron. يؤدي تعيين كلا الحقلين إلى إنتاج جدول زمني أوسع، وليس جدولًا أضيق.

تختلف الإضافات حسب التنفيذ. يقبل البعض الحقل السادس للثواني (الكوارتز، الربيع)؛ يقبل البعض؟ كبديل بدل؛ يتضمن بعضها اختصارات @yearly و@monthly و@daily. ينتج المولد كرونًا قياسيًا بخمسة مجالات مناسب لمعظم الأنظمة.

أفضل الممارسات

الأسئلة الشائعة

ما هو تنسيق التعبير كرون؟
يستخدم cron القياسي 5 حقول: الدقيقة (0-59)، الساعة (0-23)، يوم الشهر (1-31)، الشهر (1-12)، يوم الأسبوع (0-7، حيث 0 و 7 هما الأحد). الأحرف الخاصة: * (أي)، ، (قائمة)، - (نطاق)، / (خطوة).
كيف أقوم بتعيين مهمة ليتم تشغيلها كل 5 دقائق؟
استخدم */5 في حقل الدقيقة: '*/5 * * * *'. /5 يعني "كل قيمة خامسة". وبالمثل، */15 = كل 15 دقيقة، */2 = كل دقيقتين.
ما المنطقة الزمنية التي يستخدمها كرون؟
يستخدم Cron عادةً المنطقة الزمنية للنظام. على خوادم Linux، يكون هذا عادةً بالتوقيت العالمي المنسق (UTC) ما لم يتم تكوينه بطريقة أخرى. غالبًا ما يتم ضبط الخدمات السحابية (AWS وGCP) على التوقيت العالمي المنسق (UTC). تحقق دائمًا من إعدادات المنطقة الزمنية لنظامك.
هل هذا هو نفس التنسيق الذي تستخدمه إجراءات GitHub؟
تستخدم GitHub Actions نفس التنسيق المكون من 5 حقول ولكنها تعمل بالمنطقة الزمنية UTC. يستخدم AWS CloudWatch وKubernetes CronJobs هذا التنسيق أيضًا. تستخدم بعض الأنظمة مثل الكوارتز تنسيق حقل ممتد من 6 إلى 7 ثوانٍ.
ما الفرق بين 0 في أيام الأسبوع و 7؟
وكلاهما يعني الأحد. يقبل POSIX cron 0–6 أو 0–7. استخدم ما يفضله تطبيق cron الخاص بك؛ معظمهم يقبلون كليهما.
هل الشرح دقيق للكرون غير القياسي؟
إنه يستهدف كرون القياسي ذو 5 حقول. قد لا يتم تحليل امتدادات الكوارتز (بالثواني)، ومتغيرات AWS EventBridge، واللهجات الأخرى بشكل صحيح. قم بالتأكيد وفقًا لوثائق نظام الوجهة.
هل يتم إرسال تعبيري إلى الخادم؟
لا، فالإنشاء والشرح يحدثان في متصفحك.
ماذا عن الاختصارات @yearly و@monthly؟
تدعم تطبيقات cron الشائعة @yearly و@monthly و@weekly و@daily و@hourly و@reboot كاختصارات للجداول الزمنية الشائعة. يُنتج المولد تعبيرات قياسية ذات 5 حقول؛ يمكنك استبدال الاختصارات يدويًا إذا قبلها المجدول الخاص بك.