DevToolPal
ع

تعبير Cron

كل 30 ثانية

لا يستطيع cron الجدولة بأقل من دقيقة، لذا الحيلة المعتادة سطران في crontab: الأول يعمل في بداية كل دقيقة، والثاني ينتظر 30 ثانية أولًا.

* * * * * افتح في محلّل تعبيرات Cron

لا يحتوي cron القياسي على حقل للثواني. يعطي السطران تشغيلين في الدقيقة؛ ويدعم Quartz وSpring الثواني مباشرة. لا يستطيع Kubernetes ولا GitHub Actions تشغيل المهام بهذا التكرار.

شرح كل حقل

الحقل القيمة يطابق
الدقيقة * كل القيم
الساعة * كل القيم
يوم الشهر * كل القيم
الشهر * كل القيم
يوم الأسبوع * كل القيم

أوقات التشغيل القادمة

مثال: أول 6 مرات تشغيل بعد 1 يناير 2026 (UTC).

  1. الخميس، 1 يناير 2026، 00:01:00
  2. الخميس، 1 يناير 2026، 00:01:30
  3. الخميس، 1 يناير 2026، 00:02:00
  4. الخميس، 1 يناير 2026، 00:02:30
  5. الخميس، 1 يناير 2026، 00:03:00
  6. الخميس، 1 يناير 2026، 00:03:30

نسخ جاهزة للاستخدام

crontab
* * * * * /path/to/command
* * * * * sleep 30; /path/to/command

أضف السطر باستخدام crontab -e. يعمل وفق المنطقة الزمنية للخادم ما لم يُضبط CRON_TZ أو TZ.

Kubernetes CronJob: لا يستطيع هذا المجدول تشغيل هذا الجدول الزمني.

GitHub Actions: لا يستطيع هذا المجدول تشغيل هذا الجدول الزمني.

يستخدم GitHub Actions توقيت UTC دائمًا، ويقبل فواصل لا تقل عن 5 دقائق، وقد يتأخر بدء التشغيل المجدول عند الضغط.

Quartz
0/30 * * * * ?

يضع Quartz الثواني أولًا ويتطلب ? في يوم الشهر أو يوم الأسبوع. تُرقَّم الأيام من 1 إلى 7 بدءًا من الأحد، لذا فالأسماء أكثر أمانًا.

Spring
@Scheduled(cron = "*/30 * * * * *")

يستخدم Spring ‏@Scheduled(cron = …) ستة حقول: الثواني ثم الحقول الخمسة المعتادة.

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

› هل يوجد تعبير cron للتشغيل كل 30 ثانية؟

ليس في cron القياسي ذي الحقول الخمسة. استخدم سطرين في crontab (أحدهما مع sleep 30)، أو مؤقّت systemd مع OnUnitActiveSec=30s، أو Quartz ‏0/30 * * * * ?.

› بأي منطقة زمنية يعمل * * * * *؟

يستخدم cron المنطقة الزمنية للجهاز أو الخدمة التي تشغّله. في لينكس هي منطقة النظام ما لم يُضبط CRON_TZ أو TZ؛ وتقبل CronJob في Kubernetes الحقل spec.timeZone؛ ويستخدم GitHub Actions توقيت UTC دائمًا.

› كيف أتحقق من هذا الجدول قبل النشر؟

افتح * * * * * في محلّل تعبيرات Cron على هذا الموقع. يشرح كل حقل ويعرض أوقات التشغيل القادمة بتوقيتك المحلي أو بتوقيت UTC، داخل المتصفح مباشرة.