مولّد تعبيرات Cron وشرحها
أنشئ جدول crontab بالنقرات أو الصق جدولًا موجودًا. ستحصل على شرح بلغة واضحة، وتحقق من صحة كل حقل، ومواعيد التشغيل العشرة القادمة في منطقتك الزمنية.
يعمل في متصفحكبدون تسجيللا يُرفع شيء
المُنشئ المرئي
مواعيد التشغيل العشرة القادمة
طريقة استخدام مولّد تعبيرات Cron
- اكتب تعبير cron مثل
*/15 * * * *، أو انقر على قالب جاهز. - اقرأ الشرح المكتوب بلغة واضحة للتأكد من أنه يفعل ما تتوقعه. تُميَّز الحقول غير الصالحة مع ذكر السبب.
- استخدم علامات تبويب المُنشئ المرئي لضبط الدقيقة والساعة ويوم الشهر والشهر ويوم الأسبوع باستخدام كل أو كل N أو محدد أو نطاق.
- راجع مواعيد التشغيل العشرة القادمة، واختر المنطقة الزمنية للخادم إن كانت تختلف عن منطقتك.
- انسخ التعبير إلى crontab أو Kubernetes CronJob أو
scheduleفي GitHub Actions أو إعدادات CI.
صياغة Cron في دقيقة واحدة
يتكون تعبير cron القياسي من خمسة حقول تفصل بينها مسافات:
┌───────────── minute (0-59)
│ ┌─────────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌─────── month (1-12 or JAN-DEC)
│ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
│ │ │ │ │
* * * * * command
| الرمز | المعنى | مثال |
|---|---|---|
* | كل قيمة | * * * * * كل دقيقة |
, | قائمة | 0 9,17 * * * الساعة 09:00 و17:00 |
- | نطاق | 0 9 * * 1-5 أيام العمل الساعة 09:00 |
/ | خطوة | */10 * * * * كل 10 دقائق |
@daily | ماكرو | يعادل 0 0 * * *؛ وهناك أيضًا @hourly و@weekly و@monthly و@yearly و@reboot |
فخ يوم الشهر / يوم الأسبوع
عندما يكون كلا حقلي اليوم مقيَّدين (لا يبدأ أي منهما بـ *)، يعمل cron عند تطابق أيٍّ منهما. لذلك يعمل 0 0 13 * 5 في كل يوم 13 وكل يوم جمعة، وليس فقط يوم الجمعة الموافق 13. يتبع هذا المولّد قاعدة Vixie cron هذه، ويستخدم الشرح كلمة “أو” لتنتبه لذلك.
المناطق الزمنية والتوقيت الصيفي
يستخدم cron المنطقة الزمنية المحلية للخادم ما لم يُضبط خلاف ذلك (CRON_TZ= في بعض إصدارات cron، وtimeZone في Kubernetes CronJobs؛ بينما يستخدم GitHub Actions دائمًا UTC). اختر تلك المنطقة في معاينة التشغيل. المهام المجدولة داخل فجوة التوقيت الصيفي (مثل 02:30 في ليلة تقديم الساعة) تُتخطّى في المعاينة، لأن ذلك الوقت المحلي لا يحدث أبدًا.
جداول شائعة
*/5 * * * *: كل 5 دقائق0 */2 * * *: كل ساعتين، عند بداية الساعة0 9 * * 1-5: الساعة 09:00 في أيام العمل0 0 1 * *: منتصف الليل في اليوم الأول من كل شهر0 3 * * 0: الساعة 03:00 كل يوم أحد، وهي نافذة نموذجية للنسخ الاحتياطي
الأسئلة الشائعة
كيف أشغّل مهمة cron كل 5 دقائق؟
*/5 * * * *. الخطوة /5 في حقل الدقيقة تعني كل خامس دقيقة بدءًا من 0: 00 و05 و10 وهكذا.هل يدعم cron الثواني؟
هل الأحد هو 0 أم 7؟
SUN أو MON-FRI.لماذا تعمل مهمتي في أيام أكثر من المتوقع؟
* ليُشترط الآخر فقط.