⏰ مولد تعبيرات كرون
مولد كرون من TextSorter أداة مجانية للمطورين تتيح لك إنشاء جداول كرون بصريًا ومعاينة أوقات التشغيل القادمة
فهم صيغة تعبيرات كرون
تعبير كرون هو سلسلة نصية مختصرة تُخبر المجدول بالضبط بموعد تنفيذ مهمة ما. تتكون الصيغة القياسية المستخدمة في لينكس وmacOS ومعظم منصات السحابة من خمسة حقول مفصولة بمسافات. يتحكم كل حقل في وحدة زمنية مختلفة، ومعًا تحدد هذه الحقول جدولًا زمنيًا متكررًا ودقيقًا.
الحقول الخمسة
| الحقل | القيم المسموح بها | الوصف |
|---|---|---|
| الدقيقة | 0 إلى 59 | دقيقة الساعة التي تنطلق فيها المهمة |
| الساعة | 0 إلى 23 | ساعة اليوم بصيغة 24 ساعة |
| يوم الشهر | 1 إلى 31 | اليوم من الشهر في التقويم |
| الشهر | 1 إلى 12 | شهر السنة (يناير = 1، ديسمبر = 12) |
| يوم الأسبوع | 0 إلى 6 | يوم الأسبوع (الأحد = 0، السبت = 6) |
الرموز الخاصة
- النجمة (*) تطابق كل قيمة ممكنة لذلك الحقل. فمثلًا تعني
*في حقل الساعات "كل ساعة." - الفاصلة (,) تفصل قائمة من قيم محددة. كتابة
1,15في حقل يوم الشهر تعني "في اليوم 1 واليوم 15." - الشرطة (-) تحدد نطاقًا شاملًا.
9-17في حقل الساعات تعني "كل ساعة من 9 إلى 17." - الشرطة المائلة (/) تحدد فاصلًا زمنيًا للخطوات.
*/10في حقل الدقائق تعني "كل 10 دقائق" (0، 10، 20، 30، 40، 50).
من خلال الجمع بين هذه الرموز يمكنك التعبير عمليًا عن أي جدول زمني متكرر، من الفواصل البسيطة إلى الأنماط المعقدة الممتدة عبر عدة أيام. إتقان هذه الصيغة هو الأساس لأتمتة المهام بموثوقية على الخوادم والحاويات وخدمات السحابة.
كرون في لينكس ويونكس وmacOS
كانت خدمة كرون ركيزة أساسية لأتمتة المهام في أنظمة التشغيل الشبيهة بيونكس منذ سبعينيات القرن الماضي. في توزيعات لينكس الحديثة وmacOS، تعمل كرون كخدمة تعمل في الخلفية تستيقظ كل دقيقة، وتقرأ ملف كرونتاب الخاص بكل مستخدم، وتنفذ أي مهمة يتطابق جدولها مع الوقت الحالي.
إدارة كرونتاب الخاص بك
يتم التعامل مع كرون عبر الأمر crontab. شغّل crontab -e لفتح كرونتاب الخاص بك في محرر نصوص. يتبع كل سطر النمط الدقيقة الساعة يوم-الشهر الشهر يوم-الأسبوع الأمر. بعد حفظ الملف وإغلاقه، تطبق كرون التغييرات تلقائيًا.
crontab -lيسرد جميع المهام في كرونتاب الحاليcrontab -eيفتح كرونتاب للتعديلcrontab -rيحذف كرونتاب بالكامل (استخدمه بحذر)
مشكلات شائعة
من أكثر المشكلات شيوعًا مع مهام كرون هي اختلافات البيئة. تنفذ كرون الأوامر في بيئة صدفة محدودة، لذا قد لا تكون المسارات والمتغيرات التي تعتمد عليها في طرفيتك التفاعلية متاحة هناك. استخدم دائمًا مسارات مطلقة للملفات التنفيذية والبرمجية النصية داخل إدخالات كرونتاب. خطأ شائع آخر هو نسيان إعادة توجيه المخرجات: بشكل افتراضي، ترسل كرون أي مخرجات قياسية أو رسائل خطأ عبر البريد الإلكتروني إلى المستخدم، وهو ما قد يملأ طوابير البريد بصمت. وجّه المخرجات إلى ملف سجل أو إلى /dev/null إن لم تكن بحاجة إليها.
الوعي بالمنطقة الزمنية مهم أيضًا. تقيّم كرون الجداول استنادًا إلى ساعة النظام. إذا كان خادمك مضبوطًا على التوقيت العالمي المنسق، لكنك تريد تشغيل مهمة الساعة 9 صباحًا بتوقيت شرق الولايات المتحدة، فعليك حساب المكافئ بالتوقيت العالمي المنسق أو ضبط المتغير CRON_TZ (مدعوم في بعض الأنظمة). في macOS، يُعد launchd المجدول المفضل، لكن كرون تظل تعمل بكامل كفاءتها وتُستخدم على نطاق واسع للمهام السريعة والبسيطة.
أنماط وأمثلة شائعة لكرون
رغم أن صيغة كرون مرنة بما يكفي للتعبير عن أي جدول زمني تقريبًا، فإن معظم حالات الاستخدام الواقعية تندرج ضمن مجموعة صغيرة من الأنماط الشائعة. الاحتفاظ بمرجع لهذه الأنماط يوفر الوقت ويمنع الأخطاء عند إعداد مهام جديدة.
الجداول الأكثر استخدامًا
* * * * *يعمل كل دقيقة. مفيد لفحوصات السلامة، أو عمال قوائم الانتظار، أو نصوص المراقبة التي تحتاج إلى تنفيذ شبه فوري.*/5 * * * *يعمل كل خمس دقائق. فاصل زمني شائع لمزامنة البيانات بين الأنظمة، أو تحديث الذاكرة المؤقتة، أو استعلام واجهات برمجة خارجية.0 * * * *يعمل مرة كل ساعة، عند بداية الساعة تمامًا. رائع للتقارير الساعية، أو تدوير السجلات، أو مهام التنظيف الدورية.0 0 * * *يعمل عند منتصف الليل كل يوم. الخيار التقليدي للنسخ الاحتياطي الليلي، وصيانة قواعد البيانات، ورسائل الملخص اليومي.0 9 * * 1-5يعمل الساعة 9 صباحًا في كل يوم عمل (من الاثنين إلى الجمعة). مثالي لأتمتة ساعات العمل، مثل تذكيرات الاجتماع اليومية أو التقارير الصباحية.0 0 1 * *يعمل عند منتصف الليل في أول يوم من كل شهر. مثالي لدورات الفوترة الشهرية، أو إنشاء التقارير، أو التحقق من تجديد الشهادات.0 0 * * 0يعمل عند منتصف الليل كل يوم أحد. خيار موثوق لنوافذ الصيانة الأسبوعية، أو النسخ الاحتياطي الكامل، أو رسائل الملخص الأسبوعي.
الجمع بين الأنماط
يمكنك الجمع بين الرموز الخاصة لإنشاء جداول أكثر دقة. فمثلًا، ينطلق 30 6,18 * * * الساعة 6:30 صباحًا و6:30 مساءً كل يوم، بينما يعمل 0 9-17 * * 1-5 كل ساعة من 9 إلى 17 في أيام العمل فقط. تصبح الفاصلة ومشغل النطاق قويين بشكل خاص عند استخدامهما معًا، مما يتيح جداول مثل "كل 15 دقيقة خلال ساعات العمل في اليوم الأول والخامس عشر من كل شهر."
عند بناء تعبيرات معقدة، تحقق منها دائمًا باستخدام أداة مثل هذا المولد. قد تتسبب قيمة موضوعة في مكان خاطئ في تشغيل مهمة بوتيرة أكبر بكثير مما هو مقصود، وهو ما قد يُحمّل نظامك بشكل زائد أو يكرر العمليات. اختبار أقرب خمسة أوقات تشغيل يمنحك ثقة فورية بأن الجدول يطابق توقعاتك.
كرون في الخدمات السحابية والمنصات الحديثة
تجاوزت تعبيرات كرون جذورها في يونكس، وأصبحت اليوم واجهة قياسية للجدولة لدى كبرى مزودي السحابة وأطر العمل الحديثة للتطبيقات. فهم كيفية تطبيق كل منصة لجدولة شبيهة بكرون يساعدك على اختيار الأداة المناسبة لبنيتك التحتية.
AWS EventBridge (أحداث CloudWatch سابقًا)
تستخدم أمازون ويب سيرفيسز تعبيرات كرون في مجدول EventBridge (المعروف سابقًا بأحداث CloudWatch) لتشغيل دوال لامدا وStep Functions وخدمات AWS الأخرى وفق جدول زمني. توسّع AWS الصيغة القياسية ذات الخمسة حقول إلى ستة حقول بإضافة حقل السنة، وتدعم الرمز البديل ? ليوم الشهر أو يوم الأسبوع عند تحديد الآخر. فمثلًا، ينطلق cron(0 12 ? * MON-FRI *) عند الظهر بالتوقيت العالمي المنسق في كل يوم عمل. يوفر EventBridge أيضًا صيغة rate() أبسط للفواصل الزمنية الأساسية مثل rate(5 minutes).
Google Cloud Scheduler
يقبل Google Cloud Scheduler تعبيرات كرون القياسية في يونكس، ويضيف دعم المنطقة الزمنية مباشرة في إعدادات المهمة. تحدد كلًا من تعبير كرون ومنطقة زمنية مستهدفة (مثل "America/New_York")، ويتعامل المجدول تلقائيًا مع انتقالات التوقيت الصيفي. يمكن أن تكون الوجهات نقاط نهاية HTTP أو مواضيع Pub/Sub أو خدمات App Engine.
Azure Functions وLogic Apps
تستخدم مايكروسوفت أزور تعبيرات NCRONTAB في مشغلات المؤقت الخاصة بـAzure Functions. تتكون هذه من ستة حقول (تُضاف الثواني كحقل أول): {second} {minute} {hour} {day} {month} {day-of-week}. يدعم Azure Logic Apps أيضًا مشغلات التكرار المُعدة عبر أنماط شبيهة بكرون في تعريف سير العمل.
CronJobs في Kubernetes
يوفر Kubernetes موردًا أصليًا باسم CronJob يستخدم تعبيرات كرون القياسية ذات الخمسة حقول لجدولة أحمال العمل المُحتواة. ينشئ متحكم CronJob كائن Job جديدًا في كل موعد مجدول، ويمكنك ضبط سياسات التزامن وحدود السجل وتفاوتات المهلة. هذا هو النهج المفضل للمعالجة الدفعية الدورية في بيئات تنسيق الحاويات.
بغض النظر عن المنصة، تظل صيغة كرون الأساسية ثابتة. إتقان الصيغة ذات الخمسة حقول المشروحة في هذه الصفحة يؤهلك للعمل مع الجدولة على أي نظام، من خادم لينكس واحد إلى بنية سحابية متعددة عالمية.
🔒 خصوصية كاملة ومجانًا 100%
تتم جميع عمليات إنشاء تعبيرات كرون ومعاينة الجداول الزمنية بالكامل داخل متصفحك. لا تغادر أي بيانات جهازك أبدًا. لا معالجة على الخادم، ولا تسجيل، ولا حاجة للتسجيل.