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

مجاني · يعمل داخل متصفحك · عربي وإنجليزي

مولد تعبيرات الكرون

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

مفسّر ومولّد تعبيرات الكرون

الصيغة
صالح

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

English

Every 15 minutes, between 8:00 AM and 6:59 PM, Monday through Friday.

العربية

كل 15 دقيقة، بين 8:00 ص و6:59 م، من الإثنين إلى الجمعة.

    قوالب جاهزة

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

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

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

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

      مرجع سريع

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

      ما هو تعبير الكرون (Cron Expression)؟

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

      لا يقتصر استخدام صيغة الكرون على ملف crontab التقليدي، بل تعتمد عليها أيضًا Kubernetes CronJobs، ومشغّلات schedule في GitHub Actions، وGitLab، وAWS EventBridge، وGoogle Cloud Scheduler، وأطر العمل مثل Laravel وSpring وCelery وnode-cron. تساعدك أداة مولد تعبيرات الكرون المجانية هذه على إنشاء هذه الجداول وقراءتها والتحقق منها دون الحاجة إلى حفظ الصيغة. لديك تعبير جاهز؟ الصقه في مفسر تعبيرات الكرون لتعرف ماذا يفعل.

      شرح صيغة الكرون: الحقول الخمسة

      يتكوّن كل تعبير كرون قياسي من خمسة حقول تُقرأ من اليسار إلى اليمين. يقبل كل حقل رقمًا أو قائمة أو نطاقًا أو خطوة أو نجمة:

      ┌───────────── minute        الدقيقة     (0 - 59)
      │ ┌─────────── hour          الساعة      (0 - 23)
      │ │ ┌───────── day of month  يوم الشهر   (1 - 31)
      │ │ │ ┌─────── month         الشهر       (1 - 12 / JAN - DEC)
      │ │ │ │ ┌───── day of week   يوم الأسبوع (0 - 6 / SUN - SAT)
      │ │ │ │ │
      * * * * *  /path/to/command
      الحقلالقيم المسموحةالرموز الخاصةمثال
      الدقيقة0–59* , - /*/10 كل 10 دقائق
      الساعة0–23* , - /9-17 من 9 صباحًا إلى 5 مساءً
      يوم الشهر1–31* , - / ?1,15 اليوم 1 واليوم 15
      الشهر1–12 أو JAN–DEC* , - /*/3 كل ربع سنة
      يوم الأسبوع0–6 أو SUN–SAT (‏7 = الأحد)* , - / ?MON-FRI من الإثنين إلى الجمعة

      الكرون بستة حقول (مع الثواني): تضيف بعض المجدولات مثل @Scheduled في Spring وQuartz وnode-cron حقلًا للـثواني (0–59) في البداية، فمثلًا */10 * * * * * يعمل كل 10 ثوانٍ. أما كرون تاب التقليدي في لينكس فلا يدعم الثواني، وأصغر فاصل زمني فيه هو دقيقة واحدة (اطّلع على حل التشغيل كل 30 ثانية).

      تجد كل الرموز والاختصارات والحالات الخاصة في المرجع الكامل لصيغة الكرون.

      الرموز الخاصة في الكرون: * / , -

      النجمة (*) — جميع القيم

      تطابق النجمة كل القيم الممكنة للحقل. فوجود * في حقل الساعة يعني «كل ساعة»، والتعبير * * * * * يعمل كل دقيقة.

      الشرطة المائلة (/) — خطوة التكرار

      تحدّد الشرطة المائلة فاصلًا زمنيًا. */15 في حقل الدقائق يعني كل 15 دقيقة (0، 15، 30، 45). وعند دمجها مع نطاق، فإن 8-18/2 في حقل الساعة يعني كل ساعتين من 8 صباحًا حتى 6 مساءً.

      الفاصلة (,) — قائمة قيم

      تفصل الفاصلة بين القيم أو النطاقات. التعبير 0 9,13,17 * * * يعمل الساعة 9 صباحًا و1 ظهرًا و5 مساءً. ويمكن المزج بين الأنواع مثل 1-5,15,30.

      الشَّرطة (-) — النطاقات

      تحدّد الشَّرطة نطاقًا شاملًا للطرفين. 1-5 في حقل يوم الأسبوع يعني من الإثنين إلى الجمعة، و9-17 في حقل الساعة يغطي من 9 صباحًا إلى 5 مساءً.

      علامة الاستفهام (?) والاختصارات

      تستخدم بعض المجدولات (مثل Quartz وAWS) الرمز ? في حقل يوم الشهر أو يوم الأسبوع بمعنى «بلا قيمة محددة». كما تقبل معظم إصدارات الكرون اختصارات مثل: @yearly (0 0 1 1 *)، و@monthly (0 0 1 * *)، و@weekly (0 0 * * 0)، و@daily (0 0 * * *)، و@hourly (0 * * * *)، و@reboot (مرة واحدة عند الإقلاع).

      يوم الشهر مقابل يوم الأسبوع: قاعدة «أو»

      عندما يكون حقلا يوم الشهر ويوم الأسبوع مقيّدين معًا، يشغّل الكرون القياسي المهمة عند تطابق أيٍّ منهما وليس كليهما. فالتعبير 0 9 1 * 1 يعمل في اليوم الأول من كل شهر وأيضًا كل يوم إثنين. وإذا كان أحد الحقلين * فإن الحقل الآخر وحده هو المعتمد.

      مولدات كرون لـ Quartz وSpring وAWS وHangfire وAirflow وغيرها

      لا تتحدث كل المجدولات بلغة كرون لينكس: يضيف Quartz وSalesforce حقلًا للثواني ويعدّان الأحد 1، ويحتاج Spring إلى ستة حقول، ويضيف AWS EventBridge حقلًا للسنة، ولـ Jenkins رمزه الخاص H. ويقبل Hangfire وnode-cron حقل ثوانٍ اختياريًا ولا يشغّلان المهمة إلا إذا تطابق حقلا اليوم معًا، بينما يضيف Airflow اختصارات مثل @once. غيّر الصيغة في الأداة أعلاه، أو افتح المولد الخاص بمنصتك:

      كيفية إعداد مهمة كرون (Cron Job) في لينكس

      اتبع هذه الخطوات لجدولة أمر باستخدام crontab على Ubuntu أو Debian أو CentOS أو RHEL أو أي توزيعة لينكس أخرى:

      1. افتح ملف الكرون تاب في المحرر الافتراضي:
        crontab -e
      2. أضف سطرًا جديدًا يحتوي على تعبير الكرون متبوعًا بالأمر. استخدم دائمًا المسارات الكاملة وسجّل المخرجات:
        */5 * * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
      3. احفظ الملف واخرج من المحرر. ستظهر رسالة crontab: installing new crontab، ولا حاجة لإعادة التشغيل.
      4. اعرض قائمة المهام للتأكد من حفظها:
        crontab -l
      5. راجع السجلات للتحقق من تنفيذ المهمة:
        grep CRON /var/log/syslog          # Debian / Ubuntu
        journalctl -u cron --since "1 hour ago"
        journalctl -u crond               # RHEL / CentOS / Fedora

      أفضل الممارسات لمهام كرون موثوقة

      • استخدم المسارات الكاملة للأوامر والملفات، لأن cron يعمل بمتغير PATH محدود.
      • اكتب علامة النسبة المئوية هكذا \%، لأن % غير المهرّبة تُعامل كسطر جديد.
      • وجّه المخرجات باستخدام >> file.log 2>&1 حتى لا تضيع رسائل الأخطاء.
      • تحقّق من المنطقة الزمنية للخادم بالأمر timedatectl، فالخوادم السحابية تعمل غالبًا بتوقيت UTC.
      • امنع تداخل تشغيل المهام الطويلة باستخدام flock -n /tmp/job.lock command.
      • استخدم sudo crontab -e أو المجلد /etc/cron.d/ للمهام التي تحتاج صلاحيات الجذر.

      تجد كل خيارات الأمر crontab ومواقع الملفات وحلول المهام التي لا تعمل في دليل كرون تاب.

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

      ما هي مهمة الكرون (Cron Job)؟

      مهمة الكرون هي أمر أو سكربت يشغّله برنامج cron تلقائيًا وفق جدول زمني في أنظمة يونكس مثل لينكس وmacOS. تُعرَّف كل مهمة بتعبير كرون مكوّن من خمسة حقول زمنية (الدقيقة، الساعة، يوم الشهر، الشهر، يوم الأسبوع) يليها الأمر المراد تنفيذه. تُستخدم مهام الكرون عادةً للنسخ الاحتياطي وتدوير السجلات وإرسال التقارير وتنظيف الذاكرة المؤقتة ومزامنة البيانات.

      كيف تعمل الرموز الخاصة في تعبيرات الكرون؟

      النجمة (*) تطابق جميع قيم الحقل. الفاصلة (,) تفصل بين قائمة قيم مثل 1,15. الشَّرطة (-) تحدد نطاقًا شاملًا مثل 1-5 من الإثنين إلى الجمعة. الشرطة المائلة (/) تحدد خطوة التكرار، فـ */15 في حقل الدقائق تعني كل 15 دقيقة، و0-30/10 تعني الدقائق 0 و10 و20 و30. ويمكن الجمع بينها مثل 0,30 8-18/2 * * 1-5.

      كيف أُنشئ مهمة كرون في لينكس؟

      افتح ملف الكرون تاب الخاص بالمستخدم بالأمر crontab -e، ثم أضف سطرًا يحتوي على تعبير الكرون متبوعًا بالمسار الكامل للأمر (مثل */5 * * * * /usr/local/bin/backup.sh)، ثم احفظ الملف واخرج. تحقّق من المهام بالأمر crontab -l. يلتقط cron التغيير تلقائيًا، ويمكنك مراجعة /var/log/syslog أو journalctl -u cron للتأكد من التنفيذ.

      ما الفرق بين تعبير الكرون ذي الخمسة حقول وذي الستة حقول؟

      يستخدم كرون تاب القياسي في يونكس خمسة حقول: الدقيقة، الساعة، يوم الشهر، الشهر، يوم الأسبوع. بعض المجدولات مثل Spring وQuartz وnode-cron تضيف حقل الثواني في البداية ليصبح عدد الحقول ستة. تدعم هذه الأداة الصيغتين، وتعتبر الحقل الأول في التعبير السداسي حقلَ الثواني.

      كيف أشغّل مهمة كرون كل 5 دقائق؟

      استخدم التعبير */5 * * * *. تعني */5 في حقل الدقائق كل خامس دقيقة (0، 5، 10 … 55)، بينما تعني النجوم في بقية الحقول كل ساعة وكل يوم وكل شهر وكل أيام الأسبوع.

      ما المنطقة الزمنية التي يستخدمها الكرون؟

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

      لماذا لا تعمل مهمة الكرون الخاصة بي؟

      أكثر الأسباب شيوعًا: استخدام مسارات نسبية أو غياب متغير PATH (يعمل cron ببيئة محدودة)، أو أن السكربت غير قابل للتنفيذ، أو وجود علامة النسبة المئوية (%) دون تهريبها بشرطة مائلة عكسية، أو اختلاف المنطقة الزمنية للخادم عمّا تتوقعه، أو ضياع رسائل الأخطاء. وجّه المخرجات إلى ملف سجل باستخدام >> /tmp/job.log 2>&1 لمعرفة ما يحدث.

      ماذا يحدث عند تحديد يوم الشهر ويوم الأسبوع معًا؟

      في الكرون القياسي، إذا كان حقلا يوم الشهر ويوم الأسبوع مقيّدين معًا (أي ليس أيٌّ منهما *)، تُنفَّذ المهمة عند تطابق أيٍّ منهما. فمثلًا 0 9 1 * 1 تعمل الساعة 9:00 صباحًا في اليوم الأول من كل شهر، وأيضًا كل يوم إثنين.