مولّد تعبيرات Cron
أنشئ جدولة crontab من قوائم منسدلة — الدقيقة، الساعة، اليوم، الشهر، يوم الأسبوع — مع شرح بلغة واضحة وقوالب جاهزة شائعة.
692 مشاهدة
الحقول الخمسة
يتكون تعبير cron من الدقيقة · الساعة · يوم الشهر · الشهر · يوم الأسبوع، من اليسار إلى اليمين. * تعني "كل"؛ */15 كل 15 وحدة؛ 1,15 قائمة؛ 1-5 نطاق. وهكذا يعمل 0 9 * * 1-5 الساعة 09:00 في أيام الأسبوع، و*/10 * * * * كل 10 دقائق، و0 0 1 * * منتصف الليل في اليوم الأول من كل شهر.
نقاط يجب الانتباه لها: يوم الشهر ويوم الأسبوع يُدمجان بعملية OR عندما يكونان مقيّدين معًا (وهذا يفاجئ معظم المستخدمين)؛ يوم الأسبوع 0 و7 كلاهما يعني الأحد؛ الأوقات تعمل بالتوقيت المحلي للخادم. مجدولات السحابة (GitHub Actions وAWS وKubernetes CronJob) تستخدم نفس الحقول الخمسة، وبعضها بإضافات خاصة.
الأسئلة الشائعة
كيف أشغّل مهمة كل 30 ثانية؟
أصغر وحدة في cron التقليدي هي الدقيقة. الحل الشائع هو إدخال سطرين: واحد عادي وآخر مع `sleep 30 &&` قبل الأمر — أو استخدام مؤقتات systemd التي تدعم الثواني.
لماذا عملت مهمتي المجدولة الساعة 9:00 في وقت غريب؟
السبب دائمًا تقريبًا هو المنطقة الزمنية: يعمل crontab بالتوقيت المحلي للخادم (وغالبًا ما يكون UTC على الخوادم السحابية). تحقق باستخدام أمر `date` على الخادم، أو اضبط CRON_TZ إن كان مدعومًا.
كيف أختبر تعبيرًا بأمان؟
وجّهه أولًا إلى أمر تسجيل: `* * * * * date >> /tmp/cron-test.log`، تأكد من الإيقاع، ثم استبدله بالأمر الحقيقي. تأكد أيضًا أن مستخدم crontab يملك متغير PATH اللازم — بيئة cron محدودة جدًا.
أدوات مشابهة
الإبلاغ عن مشكلة
مولّد تعبيرات Cron