مولّد تعبيرات Cron
أنشئ أي جدولة Cron بصرياً، واحصل على شرح واضح بالعربية، وعاين أوقات التنفيذ الخمسة القادمة — كل ذلك في متصفحك.
إعدادات سريعة
بلغة واضحة
التشغيلات الـ5 القادمة (بتوقيتك المحلي)
- تعبير غير صالح
مرجع سريع
| الرمز | المعنى | مثال |
|---|---|---|
| * | كل قيمة في الحقل | * في الساعة = كل ساعة |
| */n | كل قيمة رقمية (خطوة) | */6 في الساعة = 0,6,12,18 |
| a-b | نطاق من a إلى b | 9-17 في الساعة = من 9 صباحاً إلى 5 مساءً |
| a,b,c | قائمة قيم محددة | 1,15 في اليوم = الأول والخامس عشر |
| a-b/n | نطاق مع خطوة | 0-23/2 = كل ساعتين |
نصائح احترافية
أمور لا تذكرها معظم شروحات Cron.
⏰ Cron يعمل بتوقيت الخادم، لا بتوقيتك
خادمك على الأرجح بتوقيت UTC. مهمة مجدولة على 0 9 * * * تعمل في الساعة 9 صباحاً بتوقيت UTC — أي 1 ظهراً في القاهرة (EET) أو 2 فجراً في لوس أنجلوس. تحقق دائماً من توقيت خادمك عبر date قبل جدولة أي شيء حسّاس للوقت.
🔇 أسكِت مخرجات Cron وإلا امتلأ بريدك
افتراضياً يرسل لك Cron بريداً في كل مرة تعمل فيها المهمة. أضف >/dev/null 2>&1 لتجاهل كل المخرجات، أو وجّهها إلى ملف سجل: >/tmp/backup.log 2>&1.
🧱 الاستضافة المشتركة تفرض حدوداً دنيا للفواصل
تقيّد معظم الاستضافات المشتركة الاقتصادية Cron إلى مرة كل 15–30 دقيقة لكل حساب. وبعضها يسمح بمهمة أو مهمتين فقط. إن كان تطبيقك يحتاج جدولة أقل من دقيقة، فأنت بحاجة إلى VPS. الحل البديل على الاستضافة المشتركة: جدولة مهمة واحدة كل دقيقة تستدعي عامل طابور مهام Laravel.
🌀 مجدول Laravel يحل محل كل مهام Cron الفردية
مع Laravel، أضف إدخال Cron واحداً — * * * * * php /path/to/artisan schedule:run — وعرّف كل جداولك في app/Console/Kernel.php. هكذا تدير فتحة Cron واحدة عدداً غير محدود من المهام.
🔒 امنع التشغيلات المتداخلة بملف قفل
قد تتداخل المهام الطويلة إن لم ينتهِ التشغيل السابق. استخدم flock -n /tmp/myjob.lock قبل أمرك، أو في Laravel استخدم ->withoutOverlapping() على مهمتك المجدولة.
🧪 اختبر دون انتظار — شغّل يدوياً
قبل الوثوق بتعبيرك، شغّل الأمر مباشرة في الطرفية أولاً، ثم استخدم crontab -l لعرض المهام النشطة وgrep CRON /var/log/syslog للتأكد من أن Cron يلتقطها.
تحتاج مهام Cron دون قيود؟
الاستضافة المشتركة تحدّ من تكرار تشغيل Cron. أما VPS فيمنحك تحكماً كاملاً.