الفاصل الزمني لتعبير Cron
يُستخدم تعبير CRON لتكوين مثيلات معينة من مشغِّل ما. في الغالب للمشغل المتكرر المجدول. وهو سلسلة تتكون من 6 أو 7 حقول تمثل قيماً فردية للجدول. ويُفصل بين هذه الحقول بمسافة وتحتوي على أي من القيم المسموح بها بمختلف التكوينات.
يمكن أن يكون تعبير CRON بسيطاً مثل هذا: * * * * ? * أو أكثر تعقيداً مثل، مثل هذا: 0/5 14,18,3-39,52 * ? JAN,MAR,SEP MON-FRI 2012-2020
قائمة القيم التي يمكنك استخدامها في تعبير CRON:
الاسم |
مطلوب |
القيمة |
الأحرف الخاصة المسموح بها |
---|---|---|---|
ثوانٍ |
نعم |
0-59 |
, - * / R |
دقائق |
نعم |
0-59 |
, - * / R |
ساعات |
نعم |
0-23 |
, - * / R |
اليوم من الشهر |
نعم |
1-31 |
, - * / ? L W |
الشهر |
نعم |
1-12 أو JAN-DEC |
, - */ |
اليوم من الأسبوع |
نعم |
06- أو SUN-SAT |
, - / ? L # |
السنة |
نعم |
1970-2099 |
, - * / |
بناء جملة تعبير CRON على النحو التالي:
┌────────── الثواني (0–59) │ ┌────────── الدقائق (0–59) │ │ ┌────────── الساعات (0–23) │ │ │ ┌────────── اليوم من الشهر (1 - 31) │ │ │ │ ┌────────── الشهر (1–12 أو JAN-DEC) │ │ │ │ │ ┌────────── يوم من الأسبوع (0 - 6 أو SUNSAT)(على سبيل المثال، 0 هو نفس SUN) │ │ │ │ │ │ ┌────────── السنة │ │ │ │ │ │ │ * * * * * ? * |
- تعني 0 0 0 منتصف الليل (الثواني، الدقائق، الساعات)
- استخدم ? عند تعذر تحديد قيمة ما لأنه قد تم تحديدها في حقل آخر (اليوم من الشهر أو اليوم من الأسبوع).
- تعني * كل (الثواني، الدقائق، الساعات، اليوم من الشهر، الشهر، اليوم من الأسبوع، السنة).
- تعني SUN الأحد.
أسماء الشهور وأيام الأسبوع ليست حساسة لحالة الأحرف. على سبيل المثال، MON يساوي mon أو JAN يساوي jan. |
الأحرف الخاصة:
الفاصلة (,)
تستخدم الفواصل لفصل عناصر القوائم. على سبيل المثال، يعني استخدام "MON,WED,FRI" في الحقل السادس (اليوم من الأسبوع) أيام الاثنين والأربعاء والجمعة.
الواصلة (-)
تحدد النطاقات. على سبيل المثال، يشير 2012-2020 إلى كل عام بين عامي 2012 و2020، بشكل شامل.
الحرف البدل (*)
يستخدم لتحديد جميع القيم الممكنة ضمن حقل ما. على سبيل المثال، تعني * في حقل الدقائق كل دقيقة. لا يمكن استخدام أحرف البدل في حقل يوم الأسبوع.
علامة الاستفهام (?)
عند اختيار يوم محدد، يمكنك تحديد إما اليوم من الشهر أو اليوم من الأسبوع. ولا يمكنك تحديد كليهما. إذا قمت بتحديد اليوم من الشهر، يجب عليك استخدام ? من أجل اليوم من الأسبوع، والعكس صحيح. على سبيل المثال، إذا كنت تريد تشغيل المشغل في يوم معين من الشهر (لنقل اليوم العاشر (10))، ولكن لا يهمك يوم الأسبوع الذي سيوافق ذلك، فضع 10 في حقل "اليوم من الشهر" وضع ? في حقل "اليوم من الأسبوع".
التجزئة (#)
تُستخدم لتحديد "رقم" اليوم من الشهر. على سبيل المثال، القيمة 4#3 في حقل اليوم من الأسبوع تعني يوم الخميس الثالث من هذا الشهر (اليوم 4 = الخميس و#3 = الخميس الثالث في الشهر). إذا قمت بتحديد #5 ولا يوجد يوم خامس من يوم الأسبوع المحدد في الشهر، فلن يعمل المشغل في ذلك الشهر.
الشرطة المائلة (/)
توضح الزيادات في نطاق ما. على سبيل المثال، يشير 3-59/15 في الحقل الثاني (الدقائق) إلى الدقيقة الثالثة من الساعة وكل 15 دقيقة بعد ذلك.
الأخير (L)
عند استخدامه في حقل اليوم من الأسبوع، يتيح لك تراكيب مثل آخر يوم جمعة (5L) في شهر محدد. في حقل اليوم من الشهر، يحدد آخر يوم في هذا الشهر. على سبيل المثال، اليوم 31 من شهر يناير، اليوم 28 من شهر فبراير في السنوات غير الكبيسة.
يوم العمل (W)
إن الحرف W متاح لحقل اليوم من الشهر. ويستخدم هذا الحرف لتحديد يوم العمل (من الاثنين إلى الجمعة) الأقرب إلى اليوم المحدد. على سبيل المثال، إذا قمت بتحديد 15W كقيمة حقل اليوم من الشهر، فهذا يعني أقرب يوم عمل للخامس عشر من الشهر. وبالتالي، إذا كان الخامس عشر يوافق يوم السبت، يتم تشغيل المشغل في يوم الجمعة الموافق للرابع عشر. وإذا كان الخامس عشر يوافق يوم الأحد، يتم تشغيل المشغل في يوم الاثنين الموافق للسادس عشر. ولكن إذا قمت بتحديد 1W كقيمة حقل اليوم من الشهر، وكان اليوم الأول يوافق يوم السبت، يتم تشغيل المشغل في يوم الاثنين الموافق لليوم الثالث، وذلك لأنه لن يتخطى حدود أيام الشهر.
يمكن دمج الحرفين L وW في حقل اليوم من الشهر وينتج عن ذلك القيمة LW، وهي تعني آخر يوم عمل من الشهر. |
عشوائي (R)
يعد الحرف R حرفً مميزاً من تعبير ESET PROTECT CRON يتيح لك تحديد لحظات زمنية عشوائية. على سبيل المثال، يتم تشغيل المشغل R 0 0 * * ? * يومياً عند 00:00 ولكن عند ثوانٍ عشوائية (0-59).
نوصيك باستخدام اللحظات الزمنية العشوائية لمنع جميع عاملي ESET Management من الاتصال في الوقت نفسه بخادم ESET PROTECT. |
فيما يلي أمثلة حقيقية توضح بعض الاختلافات في تعبير CRON:
تعبير CRON |
الدلالة |
---|---|
0 0 12 * * ? * |
تشغيل عند 12 م (مساءً) يومياً. |
R 0 0 * * ? * |
يتم التشغيل يومياً عند 00:00 ولكن عند ثوانٍ عشوائية (0-59). |
R R R 15W * ? * |
يتم التشغيل في الخامس عشر من كل شهر في وقت عشوائي (الثواني، والدقائق، والساعات). إذا كان الخامس عشر يوافق يوم السبت، يتم تشغيل المشغل في يوم الجمعة الموافق الرابع عشر. وإذا كان الخامس عشر يوافق يوم الأحد، يتم تشغيل المشغل في يوم الاثنين الموافق للسادس عشر. |
0 15 10 * * ? 2016 |
تشغيل عند 10:15 صباحاً كل يوم أثناء عام 2016. |
0 * 14 * * ? * |
تشغيل كل دقيقة بدءاً من الساعة 2 مساءً والانتهاء عند الساعة 2:59 مساءً، كل يوم. |
0 0/5 14 * * ? * |
تشغيل كل 5 دقائق بدءاً من الساعة 2 مساءً والانتهاء عند الساعة 2:55 مساءً، كل يوم. |
0 0/5 14,18 * * ? * |
تشغيل كل 5 دقائق بدءاً من الساعة 2 مساءً والانتهاء عند الساعة 2:55 مساءً، وتشغيل كل 5 دقائق بداية من الساعة 6 مساءً والانتهاء عند الساعة 6:55 مساءً يومياً. |
0 0-5 14 * * ? * |
تشغيل كل دقيقة بدءاً من الساعة 2 مساءً والانتهاء عند الساعة 2:05 مساءً، كل يوم. |
0 10,44 14 ? 3 WED * |
تشغيل عند الساعة 2:10 مساءً و2:44 مساءً كل يوم أربعاء من شهر مارس. |
0 15 10 ? * MON-FRI * |
تشغيل عند الساعة 10:15 صباحاً كل يوم عمل (الاثنين والثلاثاء والأربعاء والخميس والجمعة). |
0 15 10 15 * ? * |
تشغيل عند الساعة 10:15 صباحاً في اليوم 15 من الشهر. |
0 15 10 ? * 5L * |
تشغيل عند الساعة 10:15 صباحاً في يوم الجمعة الأخير من كل شهر. |
0 15 10 ? * 5L 2016-2020 |
تشغيل عند الساعة 10:15 صباحاً في يوم الجمعة الأخير من كل شهر من عام 2016 إلى 2020، بشكل شامل. |
0 15 10 ? * 5#3 * |
تشغيل عند الساعة 10:15 صباحاً في يوم الجمعة الثالث من كل شهر. |
0 0 * * * ? * |
التشغيل كل ساعة، كل يوم. |