كيف تترجم تعبير الكرون
- الصق التعبير في المربع أعلاه. يمكنك لصق جدول فقط مثل
*/10 * * * *، أو سطر كرون تاب كامل، وسيظهر الأمر بشكل منفصل. - اختر الصيغة إن لم تكن كرون لينكس. يبدأ Quartz وSpring بحقل للثواني، ويضيف AWS EventBridge حقلًا للسنة، لذلك قد يعني النص نفسه أشياء مختلفة.
- اقرأ الترجمة بالعربية والإنجليزية، والتفصيل حقلًا حقلًا أسفل مربع الإدخال.
- راجع مواعيد التنفيذ الخمسة القادمة. فهي أسرع طريقة للتأكد من أن الجدول يفعل ما تقصده.
أمثلة على ترجمة تعبيرات الكرون
اضغط على أي تعبير لتحميله في المفسر.
| تعبير الكرون | الجدول الزمني |
|---|---|
| كل 5 دقائق. | |
| عند الدقيقة 0 من كل ساعة، كل ساعتين. | |
| في تمام الساعة 9:00 ص، من الإثنين إلى الجمعة. | |
| في تمام الساعة 10:00 م، من الإثنين إلى الجمعة. | |
| في تمام الساعة 2:15 م، في اليوم 1 من الشهر. | |
| في تمام الساعة 12:00 ص، في اليوم 1 من الشهر، في أشهر يناير، أبريل، يوليو وأكتوبر فقط. | |
| في تمام الساعة 4:05 ص، يوم الأحد فقط. | |
| عند الدقيقة 23 من كل ساعة، كل ساعتين، بين 12:00 ص و8:59 م. | |
| في تمام الساعة 12:00 ص و12:00 م، في اليوم 1 من الشهر، في أشهر يناير، مارس، مايو، يوليو، سبتمبر ونوفمبر فقط. | |
| في تمام الساعة 12:00 ص، يوم الأحد فقط. |
كيف تقرأ تعبير الكرون بنفسك
يتكوّن تعبير كرون لينكس من خمسة حقول بترتيب ثابت: الدقيقة، الساعة، يوم الشهر، الشهر، يوم الأسبوع. خذ مثلًا 30 4 1,15 * 5:
| الحقل | القيمة | المعنى |
|---|---|---|
| الدقيقة | 30 | عند الدقيقة 30 |
| الساعة | 4 | الساعة 4 صباحًا |
| يوم الشهر | 1,15 | في اليوم 1 واليوم 15 |
| الشهر | * | في كل الأشهر |
| يوم الأسبوع | 5 | يوم الجمعة |
وبجمعها معًا تعمل المهمة الساعة 4:30 صباحًا في اليوم 1 واليوم 15 من كل شهر وأيضًا كل يوم جمعة. فعندما يكون حقلا اليوم مقيّدين معًا، يشغّل كرون لينكس المهمة إذا تطابق أيٌّ منهما. وينبّهك المفسر إلى ذلك لأنه أكثر خطأ شائع في قراءة الكرون.
ثلاث عادات تسهّل قراءة الكرون:
- اقرأ الوقت أولًا (الدقيقة والساعة)، ثم الأيام، ثم الأشهر.
*/nتعني «كل n»، وa-bنطاق يشمل طرفيه، وa,bقائمة قيم.- في حقل يوم الأسبوع،
0و7كلاهما يعني الأحد، و1-5تعني من الإثنين إلى الجمعة.
تجد كل الرموز والاختصارات في مرجع صيغة الكرون.
مدقق الكرون: الأخطاء والتنبيهات
يعمل المفسر أيضًا كمدقق لتعبيرات الكرون. فهو يرفض التعبيرات التي سيرفضها cron، وينبّهك إلى التعبيرات الصحيحة التي قد لا تكون ما تريده:
- قيم خارج النطاق مثل
60في حقل الدقائق أو24في حقل الساعات، مع ذكر الحقل الذي فيه الخطأ. - حقول ناقصة أو زائدة، مثل أربعة حقول بدلًا من خمسة.
- رموز خاصة بـ Quartz (
LوWو#) في كرون تاب لينكس. - جداول لن تعمل أبدًا مثل
0 0 30 2 *، فلا يوجد 30 فبراير. - الأيام 29–31 التي تتخطاها الأشهر الأقصر.
- تحديد حقلي اليوم معًا، حيث يستخدم كرون لينكس منطق «أو» لا «و».
- ستة حقول في وضع لينكس: يُقرأ الحقل الأول كثوانٍ، وكرون تاب العادي لا يدعمها.
حاسبة الكرون: مواعيد التنفيذ القادمة
أسفل الترجمة تحسب الأداة المواعيد الخمسة القادمة التي سيعمل فيها الجدول، بالمنطقة الزمنية لمتصفحك ومع مراعاة التوقيت الصيفي. وبهذا تصبح حاسبة كرون سريعة: غيّر حقلًا وراقب التواريخ تتغير.
لكن المنطقة الزمنية يحددها الخادم. فكرون لينكس يستخدم المنطقة الزمنية للنظام، وغالبًا تكون UTC في الخوادم السحابية (تحقّق منها بالأمر timedatectl)، وقواعد AWS EventBridge تعمل دائمًا بتوقيت UTC، لذلك تعرض الأداة المواعيد بتوقيت UTC في تلك الصيغة.
تحويل تعبيرات الكرون بين الصيغ
عند تغيير الصيغة في المفسر يُعاد كتابة التعبير للمجدول الجديد كلما أمكن الحفاظ على معناه تمامًا:
| كرون لينكس | Quartz | Spring | AWS EventBridge |
|---|---|---|---|
0 9 * * 1-5 | 0 0 9 ? * MON-FRI | 0 0 9 * * MON-FRI | 0 9 ? * MON-FRI * |
*/5 * * * * | 0 */5 * * * ? | 0 */5 * * * * | */5 * * * ? * |
0 0 1 * * | 0 0 0 1 * ? | 0 0 0 1 * * | 0 0 1 * ? * |
0 0 * * 0 | 0 0 0 ? * SUN | 0 0 0 * * SUN | 0 0 ? * SUN * |
بعض الجداول لا يمكن تحويلها. فالتعبير 30 4 1,15 * 5 يعتمد على قاعدة «أو» في كرون لينكس، وهي غير موجودة في Quartz وSpring وAWS، لذلك تخبرك الأداة بدلًا من إنتاج تعبير خاطئ. ولكل صيغة مولد خاص بها:
0 0 8 ? * MON-FRI
مولد تعبيرات كرون لـ Spring
0 0 8 * * MON-FRI
مولد تعبيرات كرون لـ AWS
0 8 ? * MON-FRI *
مولد تعبيرات كرون لـ Jenkins
H 2 * * 1-5
مولد تعبيرات كرون لـ Salesforce
0 0 8 ? * MON-FRI
مولد تعبيرات كرون لـ Hangfire
0 8 * * 1-5
مولد تعبيرات كرون لـ Airflow
0 6 * * 1-5
مولد تعبيرات node-cron
0 30 8 * * 1-5
الأسئلة الشائعة
ماذا يعني * * * * * في الكرون؟
كل دقيقة. كل نجمة تعني «كل القيم» لحقلها، لذلك تعمل المهمة كل دقيقة من كل ساعة من كل يوم.
ماذا تعني */5 في تعبير الكرون؟
هي خطوة تكرار: كل خامس قيمة في الحقل. في حقل الدقائق تعمل */5 عند الدقائق 0 و5 و10 … 55، أي كل 5 دقائق.
ماذا يعني 0 0 * * *؟
كل يوم عند منتصف الليل (00:00 بتوقيت الخادم)، وهو مطابق للاختصارين @daily و@midnight.
كيف أتحقق من صحة تعبير الكرون؟
الصقه في المفسر أعلاه. التعبير غير الصحيح يظهر معه خطأ يذكر الحقل والمشكلة، والتعبير الصحيح تظهر ترجمته ومواعيد تنفيذه القادمة. كما يرفض crontab -e تثبيت ملف فيه خطأ في الصيغة.
هل الأحد 0 أم 7 في الكرون؟
كلاهما. يقبل كرون لينكس 0 و7 للأحد، فالتعبيران 0 9 * * 0 و0 9 * * 7 متطابقان. أما في Quartz وSalesforce فـ 1 هو الأحد و7 هو السبت.
هل يترجم تعبيرات Quartz وSpring وAWS؟
نعم. اختر الصيغة فوق مربع الإدخال: لينكس أو Quartz أو Spring أو AWS EventBridge أو Jenkins أو Salesforce أو Hangfire أو Airflow أو node-cron. لكل صيغة حقولها ورموزها، ويطبّق المفسر القواعد الصحيحة لكل منها.
هل يُرسل تعبير الكرون إلى خادم؟
لا. يعمل المفسر بالكامل داخل متصفحك، ولا يغادر جهازك أي شيء تكتبه.