انتقل إلى المحتوى
مولد تعبيرات الكرون

تعبير كرون في اليوم الأخير من كل شهر

تعبير الكرون لتشغيل مهمة في اليوم الأخير من كل شهر هو:

55 23 28-31 * *

في تمام الساعة 11:55 م، من اليوم 28 إلى اليوم 31 من الشهر.

لا يحتوي كرون تاب القياسي على قيمة تعني «آخر يوم في الشهر»: فالرمز L امتداد خاص بـ Quartz، وكتابة 28-31 وحدها ستشغّل المهمة حتى أربع مرات في الأشهر الطويلة. والحل الموثوق هو التشغيل في الأيام 28-31 مع شرط في سطر الأوامر يتحقق من أن الغد هو اليوم الأول: [ "$(date -d tomorrow +\%d)" = "01" ] && command. ولا تحذف الشرطة المائلة العكسية قبل %، لأن علامة % غير المهرَّبة تُنهي الأمر في كرون تاب. والتشغيل عند 23:55 يضمن دخول اليوم الأخير كاملًا في تقارير نهاية الشهر؛ أما إذا كانت المهمة تستطيع معالجة الشهر السابق، فالتعبير 5 0 1 * * في اليوم الأول أبسط.

اختبر هذا الجدول وعدّله

الصيغة
صالح

5 حقول (الدقيقة الساعة اليوم الشهر يوم الأسبوع)، أو 6 مع الثواني أولًا. تعمل الأسماء مثل MON-FRI والاختصارات مثل @daily وأسطر كرون تاب الكاملة. اضغط / للتركيز على الحقل.

English

At 11:55 PM, between day 28 and 31 of the month.

العربية

في تمام الساعة 11:55 م، من اليوم 28 إلى اليوم 31 من الشهر.

    قوالب جاهزة

    المولّد المرئي للكرون

    اختر الإعدادات لكل حقل، وسيتحدّث التعبير في الأعلى فورًا.

    مواعيد التنفيذ الخمسة القادمة

    بتوقيتك المحلي:

      مرجع سريع

      *
      أي قيمة
      ,
      قائمة قيم — 1,15,30
      -
      نطاق — 1-5
      /
      خطوة — */10
      ?
      بلا قيمة محددة (حقول الأيام)
      @daily
      اختصار لـ 0 0 * * *

      شرح الحقول واحدًا تلو الآخر

      الحقلالقيمةالمعنى
      الدقيقة5555
      الساعة2323
      يوم الشهر28-31من 28 إلى 31
      الشهر*كل شهر
      يوم الأسبوع*كل أيام الأسبوع

      أمثلة جاهزة للنسخ

      Linux crontab

      # crontab -e
      # runs on days 28-31, but the command only fires when tomorrow is the 1st
      55 23 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

      Kubernetes CronJob

      apiVersion: batch/v1
      kind: CronJob
      metadata:
        name: my-job
      spec:
        schedule: "55 23 28-31 * *"
        concurrencyPolicy: Forbid
        jobTemplate:
          spec:
            template:
              spec:
                restartPolicy: OnFailure
                containers:
                  - name: my-job
                    image: busybox:1.36
                    command: ["sh", "-c", "date; echo Hello from cron"]

      GitHub Actions

      on:
        schedule:
          - cron: '55 23 28-31 * *'   # always UTC

      تحسب GitHub Actions الجداول بتوقيت UTC، ولا تقبل الاختصارات مثل ‎@daily، ولا تشغّل سير العمل أكثر من مرة كل 5 دقائق، وقد يتأخر التشغيل في أوقات الضغط العالي.

      صيغ بديلة شائعة

      اضغط على أي تعبير لتحميله في الأداة أعلاه.

      تعبير الكرونالجدول الزمني
      في تمام الساعة 10:00 م، من اليوم 28 إلى اليوم 31 من الشهر.
      في تمام الساعة 12:05 ص، في اليوم 1 من الشهر.
      في تمام الساعة 11:55 م، من اليوم 28 إلى اليوم 31 من الشهر، في أشهر مارس، يونيو، سبتمبر وديسمبر فقط.
      في تمام الساعة 12:00 ص، من اليوم 28 إلى اليوم 31 من الشهر.

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

      ماذا يعني التعبير 55 23 28-31 * * في الكرون؟

      في تمام الساعة 11:55 م، من اليوم 28 إلى اليوم 31 من الشهر. الحقول الخمسة هي: الدقيقة 55، الساعة 23، يوم الشهر 28-31، الشهر *، يوم الأسبوع *.

      كيف أشغّل مهمة كرون في اليوم الأخير من كل شهر في لينكس؟

      نفّذ الأمر crontab -e، وأضف الأسطر الواردة في مثال كرون تاب في هذه الصفحة، ثم احفظ الملف واخرج. استخدم المسارات الكاملة، ووجّه المخرجات إلى ملف سجل، وتأكّد من التنفيذ بالأمر grep CRON /var/log/syslog.

      متى سيعمل التعبير 55 23 28-31 * * في المرة القادمة؟

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

      كيف أشغّل مهمة في اليوم الأخير من الشهر في Kubernetes أو GitHub Actions؟

      كلاهما يقبل صيغة الكرون القياسية فقط، لذا اضبط الجدول على الأيام 28-31 واجعل أول خطوة في المهمة هي التحقق نفسه: [ "$(date -d tomorrow +%d)" = "01" ] || exit 0. ولا تحتاج العلامة % إلى تهريب داخل السكربت أو ملف YAML، وعلى macOS وأنظمة BSD استخدم date -v+1d +%d بدلًا من ذلك. وقد يتأخر بدء التشغيلات المجدولة في GitHub Actions، فإذا بدأ تشغيل الساعة 23:55 بعد منتصف الليل فسيفشل التحقق؛ لذا اختر هناك موعدًا أبكر مثل 0 22 28-31 * *.

      جداول كرون ذات صلة

      تصفّح كل أمثلة تعبيرات الكرون ←