مولّد تعبيرات Cron وشرحها

أنشئ جدول crontab بالنقرات أو الصق جدولًا موجودًا. ستحصل على شرح بلغة واضحة، وتحقق من صحة كل حقل، ومواعيد التشغيل العشرة القادمة في منطقتك الزمنية.

يعمل في متصفحكبدون تسجيللا يُرفع شيء

دقيقةساعةيوم (الشهر)شهريوم (الأسبوع)

المُنشئ المرئي

مواعيد التشغيل العشرة القادمة

    طريقة استخدام مولّد تعبيرات Cron

    1. اكتب تعبير cron مثل */15 * * * *، أو انقر على قالب جاهز.
    2. اقرأ الشرح المكتوب بلغة واضحة للتأكد من أنه يفعل ما تتوقعه. تُميَّز الحقول غير الصالحة مع ذكر السبب.
    3. استخدم علامات تبويب المُنشئ المرئي لضبط الدقيقة والساعة ويوم الشهر والشهر ويوم الأسبوع باستخدام كل أو كل N أو محدد أو نطاق.
    4. راجع مواعيد التشغيل العشرة القادمة، واختر المنطقة الزمنية للخادم إن كانت تختلف عن منطقتك.
    5. انسخ التعبير إلى crontab أو Kubernetes CronJob أو schedule في GitHub Actions أو إعدادات CI.

    صياغة Cron في دقيقة واحدة

    يتكون تعبير cron القياسي من خمسة حقول تفصل بينها مسافات:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    الرمزالمعنىمثال
    *كل قيمة* * * * * كل دقيقة
    ,قائمة0 9,17 * * * الساعة 09:00 و17:00
    -نطاق0 9 * * 1-5 أيام العمل الساعة 09:00
    /خطوة*/10 * * * * كل 10 دقائق
    @dailyماكرويعادل 0 0 * * *؛ وهناك أيضًا @hourly و@weekly و@monthly و@yearly و@reboot

    فخ يوم الشهر / يوم الأسبوع

    عندما يكون كلا حقلي اليوم مقيَّدين (لا يبدأ أي منهما بـ *)، يعمل cron عند تطابق أيٍّ منهما. لذلك يعمل 0 0 13 * 5 في كل يوم 13 وكل يوم جمعة، وليس فقط يوم الجمعة الموافق 13. يتبع هذا المولّد قاعدة Vixie cron هذه، ويستخدم الشرح كلمة “أو” لتنتبه لذلك.

    المناطق الزمنية والتوقيت الصيفي

    يستخدم cron المنطقة الزمنية المحلية للخادم ما لم يُضبط خلاف ذلك (CRON_TZ= في بعض إصدارات cron، وtimeZone في Kubernetes CronJobs؛ بينما يستخدم GitHub Actions دائمًا UTC). اختر تلك المنطقة في معاينة التشغيل. المهام المجدولة داخل فجوة التوقيت الصيفي (مثل 02:30 في ليلة تقديم الساعة) تُتخطّى في المعاينة، لأن ذلك الوقت المحلي لا يحدث أبدًا.

    جداول شائعة

    • */5 * * * *: كل 5 دقائق
    • 0 */2 * * *: كل ساعتين، عند بداية الساعة
    • 0 9 * * 1-5: الساعة 09:00 في أيام العمل
    • 0 0 1 * *: منتصف الليل في اليوم الأول من كل شهر
    • 0 3 * * 0: الساعة 03:00 كل يوم أحد، وهي نافذة نموذجية للنسخ الاحتياطي

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

    كيف أشغّل مهمة cron كل 5 دقائق؟
    استخدم */5 * * * *. الخطوة /5 في حقل الدقيقة تعني كل خامس دقيقة بدءًا من 0: ‏00 و05 و10 وهكذا.
    هل يدعم cron الثواني؟
    crontab القياسي لا يدعمها؛ فأصغر وحدة هي دقيقة واحدة. تضيف Quartz وSpring وبعض أدوات الجدولة السحابية حقلًا للثواني (6 أو 7 حقول). تتحقق هذه الأداة من الصيغة القياسية ذات الحقول الخمسة وتنبّهك عندما ترى 6 حقول.
    هل الأحد هو 0 أم 7؟
    كلاهما. في حقل يوم الأسبوع يعني 0 و7 يوم الأحد، ويمكنك أيضًا كتابة أسماء مثل SUN أو MON-FRI.
    لماذا تعمل مهمتي في أيام أكثر من المتوقع؟
    إذا قيّدت يوم الشهر ويوم الأسبوع معًا، يعمل cron عند تطابق أيٍّ منهما. اضبط أحدهما على * ليُشترط الآخر فقط.
    بأي منطقة زمنية تُعرض مواعيد التشغيل القادمة؟
    بالمنطقة الزمنية لمتصفحك افتراضيًا. اختر منطقة خادمك (غالبًا UTC) من القائمة لترى بالضبط متى تُنفَّذ المهمة هناك.

    أدوات ذات صلة