انتقل إلى المحتوى

محلل تعبيرات Cron

حلل تعبيرات cron وشاهد شرحاً مقروءاً بشرياً لوقت تشغيلها. مثالي للمطورين ومسؤولي النظام الذين يحتاجون إلى إنشاء أو فهم جداول مهام cron job. تجنب أخطاء الجدولة من خلال تصور متى سيتم تنفيذ تعبيرات cron expression بالضبط.

إعادة تعيين

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

ما تعبير cron؟

تعبير cron هو عبارة عن سلسلة من 5 أو 6 حقول تحدد جدولاً للمهام الآلية في الأنظمة الشبيهة بنظام Unix. وتمثل الحقول: الدقيقة (0-59)، والساعة (0-23)، واليوم من الشهر (1-31)، والشهر (1-12)، واليوم من الأسبوع (0-7، حيث 0 و7 هو يوم الأحد). على سبيل المثال، "0 9 * 0 * 1" تعني "التشغيل في الساعة 9:00 صباحًا كل يوم اثنين".

كيف يمكنني إنشاء تعبير cron لجدول زمني محدد؟

ابدأ بخمس علامات نجمية (* * * * * * *) تمثل الدقيقة، والساعة، واليوم، والشهر، ويوم من أيام الأسبوع. استبدل العلامات النجمية بقيم أو نطاقات محددة. على سبيل المثال: "30 14 * * * *" تعمل في الساعة 2:30 ظهرًا يوميًا، "0 0 1 * *" تعمل في منتصف الليل في الأول من كل شهر، "*/15 * * * * * *" تعمل كل 15 دقيقة. استخدم المحلل اللغوي الخاص بنا للتحقق من أن تعبيرك يقوم بما تتوقعه.

ماذا تعني علامة النجمة (*) في cron؟

علامة النجمة تعني "كل" أو "أي" لتلك الوحدة الزمنية. على سبيل المثال، * في حقل الساعة تعني كل ساعة، * في حقل اليوم تعني كل يوم. لذا فإن "0 * * * * *" تعني "في الدقيقة 0 من كل ساعة" (كل ساعة)، بينما "* * * * * * *" تعني "كل دقيقة". إنه حرف البدل الذي يطابق جميع القيم الممكنة لهذا الحقل.

كيف أقوم بتشغيل مهمة cron كل 5 دقائق أو كل N ساعة؟

استخدم صيغة قيمة الخطوة: */N. لكل 5 دقائق: '*/5 * * * *'. لكل 3 ساعات: '0 */3 * * *'. صيغة */N تعني "كل قيمة N" - لذا فإن */5 في حقل الدقيقة تعني الدقائق 0، 5، 5، 10، 15، إلخ. يمكنك أيضًا استخدام نطاقات بخطوات مثل '0-30/5' لكل 5 دقائق خلال النصف ساعة الأولى.

هل يمكنني تشغيل مهمة cron في أيام الأسبوع فقط؟

نعم! استخدم 1-5 في حقل يوم الأسبوع (الحقل الخامس). على سبيل المثال، يعمل '0 9 * * 1-5' عند 9 صباحًا من الاثنين إلى الجمعة. الاثنين هو 1 والجمعة هي 5. ويمكنك أيضًا تحديد أيام بعينها: يعمل '0 9 * * 1,3,5' عند 9 صباحًا أيام الاثنين والأربعاء والجمعة فقط.

ما الفرق بين يوم من الشهر ويوم من الأسبوع؟

هاتان طريقتان مختلفتان لتحديد أيام تشغيل المهمة. يستخدم يوم الشهر (الحقل الثالث) التواريخ من 1 إلى 31، بينما يستخدم يوم الأسبوع (الحقل الخامس) التواريخ من 0 إلى 7 (0 و7 هما يوم الأحد). إذا تم تحديد كلاهما (ليس *)، يتم تشغيل المهمة عندما يتطابق أي من الشرطين. على سبيل المثال، يتم تشغيل "0 0 0 1 * 1" في منتصف ليل اليوم الأول من كل شهر وكل يوم اثنين.

كيف أنشئ تعبير cron لساعات العمل فقط؟

من الساعة 9 صباحًا إلى 5 مساءً خلال أيام الأسبوع: "0 9-17 * * 1-5" في بداية كل ساعة. لكل 30 دقيقة خلال ساعات العمل: '*/30 9-17 * * 1-5'. يغطي نطاق الساعات من 9-17 من الساعة 9 صباحًا إلى 5 مساءً، و1-5 يحصر التنفيذ من الاثنين إلى الجمعة.

ما الفرق بين "0 0 * * * * *" و "@daily"؟

إنهما متكافئان - كلاهما يعملان في منتصف الليل يوميًا. تدعم العديد من تطبيقات cron سلاسل خاصة مثل @يوميًا و@ساعة و@أسبوعيًا و@شهريًا و@سنويًا كاختصارات. هذه أكثر قابلية للقراءة ولكنها أقل مرونة من التعبيرات الكاملة. استخدم الاختصارات للفترات الزمنية الشائعة والتعبيرات الكاملة للجداول الزمنية المخصصة.

هل يمكن أن تتعامل تعبيرات cron مع اختلافات المناطق الزمنية؟

تعمل تعبيرات cron القياسية بناءً على توقيت نظام الخادم. للتعامل مع المناطق الزمنية، إما أن تضبط المنطقة الزمنية للخادم بشكل صحيح أو تحسب فرق التوقيت. تدعم بعض تطبيقات cron المتقدمة مواصفات المنطقة الزمنية، ولكن التنسيق الأساسي المكون من 5 حقول لا يتضمن معلومات المنطقة الزمنية.

كيف يمكنني اختبار ما إذا كان تعبير cron الخاص بي صحيحًا قبل النشر؟

استخدم محلل تعبيرات Cron Expression Treater الخاص بنا للتحقق من أن تعبيرك يُظهر وصف الجدول الزمني المتوقع. يشرح المحلل بلغة إنجليزية واضحة متى سيتم تشغيل مهمتك، مما يساعدك على اكتشاف الأخطاء مثل "0 9 9 31 2 *" (31 فبراير غير موجود) قبل النشر إلى الإنتاج.

نبذة عن OneClick Pro

OneClick Pro مجموعة مجانية تضم أكثر من 150 أداة ويب للمهام اليومية: تحويل الصور والوحدات، وتنسيق الأكواد والتحقق من صحتها، وفحص النطاقات وSEO، والعمل مع النصوص والتواريخ والأرقام. تعمل كل أداة دون تسجيل أو اشتراك، ولا تُستخدم البيانات التي تُدخلها إلا لحساب النتيجة ولا تُخزّن مطلقًا. استخدمها كصندوق أدوات سريع للمهام المنفردة، أو أضف الأدوات التي تعتمد عليها يوميًا إلى إشاراتك المرجعية.