Skip to main content
Toolzer — Free Online Tools

مفسر Cron

اشرح تعبير Cron بلغة بشرية واعرض المرات الخمس القادمة.

عن الأداة

مفسّر Cron يترجم أي تعبير Cron إلى وصف بلغة بشرية سهلة الفهم (مثلًا: '0 9 * * MON-FRI' يصبح 'كل يوم عمل الساعة 9 صباحًا')، ويعرض المرات الخمس القادمة الفعلية التي سيتم فيها تشغيل المهمة حسب المنطقة الزمنية. يدعم صيغة Cron المعيارية (5 حقول: دقيقة، ساعة، يوم، شهر، يوم الأسبوع) وصيغة Quartz الموسعة (6 و7 حقول تشمل الثواني والسنة المستخدمة في Spring وJava). مفيد لمهندسي DevOps الذين يراجعون crontab قبل النشر، ولمطوّري GitHub Actions الذين يجدولون سير العمل، ولمشغلي Kubernetes CronJobs، ولمن يستخدمون pg_cron في Supabase أو Postgres، ولإدارة مهام Airflow وTemporal. الأداة تكشف الأخطاء الشائعة قبل الإنتاج: التداخل بين قواعد Day-of-Month وDay-of-Week، والتشغيل الفوضوي بسبب النطاقات المفتوحة (* أو */1)، وتحذّر عندما يكون التعبير يشغّل المهمة مرات أكثر من المتوقع (كل دقيقة بدل كل ساعة). كما تشرح المعنى الفعلي للرموز الخاصة (L, W, #, ?) في Quartz.

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

ما الفرق بين Cron المعياري وQuartz؟

Cron المعياري (Linux, macOS, cron.d) يستخدم 5 حقول: دقيقة، ساعة، يوم، شهر، يوم أسبوع. Quartz (Java, Spring, Kubernetes CronJob) يستخدم 6 أو 7 حقول ويضيف الثواني في البداية والسنة اختياريًا، ويدعم رموزًا خاصة مثل L (آخر يوم بالشهر) وW (أقرب يوم عمل) و# (يوم أسبوع محدد بالترتيب).

لماذا يبدو تعبيري صحيحًا لكنه يعمل في وقت خطأ؟

غالبًا بسبب المنطقة الزمنية. Cron يعمل بتوقيت الخادم (غالبًا UTC) وليس التوقيت المحلي. اضبط TZ داخل crontab أو حوّل التعبير قبل النشر عبر المفسّر.

كيف أشغّل مهمة كل 15 دقيقة؟

استخدم '*/15 * * * *' لتعمل الدقائق 0, 15, 30, 45 من كل ساعة. أو حدد بدقة: '0,15,30,45 * * * *'. تجنّب '*/13' لأنه لا يقسم الساعة بالتساوي ويُنتج فجوات غير منتظمة.

هل يمكن جدولة مهمة يوم جمعة الأخير من الشهر؟

في Quartz فقط: '0 0 12 ? * 6L' تعني الجمعة الأخيرة من كل شهر الساعة 12 ظهرًا. في Cron المعياري لا يوجد رمز L، وتحتاج سكربتًا يتحقق من التاريخ داخل المهمة نفسها.

ماذا يعني الفرق بين * و? في Quartz؟

* تعني 'كل قيمة'، أما ? تعني 'أي قيمة، لا يهم'. لا يمكن وضع * في كلا حقلي Day-of-Month وDay-of-Week معًا لأنهما متعارضان، فيُستخدم ? في أحدهما.