أدوات المطورين · مولد Crontab
@reboot، @daily، @hourly: من أين جاءت جداول ألقاب cron
· خلفية
كرون الأسماء المستعارة جدولة
إن الاختصارات @ قابلة للقراءة وشائعة وليست عالمية. يشرح هذا المنشور ما يتم توسيعه، ومن أين أتوا، والحالة الخاصة لـ @reboot، ومتى يتم كتابة الحقول الخمسة بدلاً من ذلك.
تم رفض @reboot لأن الأداة تقوم بمعاينة أوقات التقويم، وليس أحداث بدء التشغيل
يبدو `@reboot` مثل نماذج التوقيع الأخرى ولكن لا يحتوي على توسيع تقويم مكون من خمسة حقول في ToolAcre. يرفض المحلل اللغوي ذلك لسبب واضح: لا يوجد جدول زمني للمعاينة. يعتمد حدث بدء التشغيل على دورة حياة الجهاز أو الخدمة التي لا يراقبها أو يتحكم فيها مسار المتصفح هذا.
هذا التمييز يبقي قائمة التشغيل التالية صادقة. يمكن أن تصبح الأسماء المستعارة للتقويم حقولًا وتواريخ محددة. لا يمكن للاسم المستعار لإعادة التشغيل أن ينتج خمسة مرشحين لساعة الحائط المستقبلية من اللحظة الحالية دون اختراع عمليات إعادة التشغيل المستقبلية. ولذلك فإن الرفض أكثر دقة من المعاينة الفارغة أو الملفقة.
الألقاب وتوسعاتها - @hourly و@daily و@midnight و@weekly و@monthly و@yearly و@annally كمكافئات لخمسة حقول
الجدول المدعوم دقيق. `@hourly` يصبح `0 * * * *`؛ `@daily` و `@midnight` يصبحان `0 0 * * *`؛ `@weekly` يصبح `0 0 * * 0`؛ `@monthly` يصبح `0 0 1 * *`؛ و`@yearly` بالإضافة إلى `@annually` يصبح `0 0 1 1 *`.
تعمل واجهة المستخدم على حل الاسم المستعار المقبول قبل نسخ القيم في المربعات الفردية الخمسة. يقوم التحليل بإرجاع التعبير المعياري المكون من خمسة حقول، وتستخدم الأوصاف هذا النموذج الذي تم تحليله وتتكرر الاختبارات عبر كل اسم مستعار. وبالتالي فإن التوسيع يمكن فحصه وليس اختزالًا مخفيًا.
لم يتم تصميم أي سلوك لبدء البرنامج الخفي أو تمهيد النظام
لا يتلقى أي تعليمة برمجية في هذا المسار أحداث بدء تشغيل نظام التشغيل. لا توجد عملية خفية أو معرف تمهيد أو رسم بياني لتبعية الخدمة. لا يمكن إنشاء عبارات المصنف حول وقت تشغيل `@reboot` من محلل يرفض الرمز المميز عمدًا.
إذا كان الهدف يدعم لقب بدء التشغيل، فارجع إلى تعريف دورة حياة هذا الهدف واختبره بأمان. لا تستخدم خطأ ToolAcre كدليل على أن الميزة غير صالحة عالميًا، ولا تستخدم دعم تطبيق آخر كدليل على أن هذا المسار يجب أن يقوم بمعاينتها.
تتطلب أصول الاسم المستعار وانتشار التنفيذ المتبادل مصادر تاريخية خارجية
أرجع المصنف الأسماء المستعارة إلى التنفيذ التاريخي ووصف انتشارها. لا يحتوي المستودع على مصدر تاريخي أساسي لهذه المطالبة. ما يثبته هو سلوك زمن المضارع: سبعة مفاتيح في `ALIASES`، والبحث غير الحساس لحالة الأحرف ورفض الاختصارات غير المعروفة.
وهذا يكفي للتوثيق العملي. يمكن للقراء أن يروا بالضبط النماذج التي تعمل هنا وما الذي يتوسعون إليه. يمكن إضافة المصدر لاحقًا باستخدام مصدر أرشيفي؛ لا ينبغي الاستدلال عليه من اسم ثابت أو من شعبية بناء جملة مماثل في مكان آخر.
مثال عملي: استبدال @daily بـ 0 0 * * * - ولماذا يسمح لك النموذج الصريح أيضًا بنقل الوقت من منتصف الليل
يؤدي استبدال `@daily` بـ `0 0 * * *` إلى كشف حقول الوقت. يؤدي تغيير الساعة من 0 إلى 4 إلى إنتاج `0 4 * * *`، والذي تصفه الأداة بأنه 04:00 كل يوم. يكون النموذج الصريح أفضل عندما لا يكون منتصف الليل هو وقت الحائط المقصود.
تجعل مربعات الحقل هذا التعديل سهلاً وتتحكم المنطقة الزمنية المحددة في معاينة اللحظات. لا يحتوي التعبير المنسوخ على أي اسم مستعار بعد التوسيع في نتيجة المحلل اللغوي، ولكن قد يظل النص الأصلي في مربع التعبير بالكامل حتى يتم تغيير الحقل. قم بمراجعة القيمة الفعلية المنسوخة قبل النشر.
ترتيب وقت التمهيد والتبعيات خارج المولد
يعتمد عمل بدء التشغيل غالبًا على أنظمة الملفات أو الشبكات أو بيانات الاعتماد أو الخدمات الأخرى. ToolAcre ليس لديه نموذج تبعية ولا يمكنه تقييم الاستعداد أو التأخير أو سلوك إعادة التشغيل. حتى لو قبلت `@reboot`، فإن التحقق من صحة التعبير لن يحل هذه الأسئلة التشغيلية.
تعامل مع تنفيذ وقت التمهيد كتصميم لدورة الحياة بدلاً من اختصار التقويم. توثيق المتطلبات الأساسية ومعالجة الفشل في البيئة المستهدفة. يظل المولد مناسبًا للجداول الزمنية المتكررة المكونة من خمسة مجالات والتي يمكن بالفعل حساب أوقات ساعة الحائط التالية فيها.
لا يتم تقييم بدائل مدير الخدمة هنا
يشير المصنف إلى وحدات الخدمة الحديثة، لكن هذا المستودع لا يقوم ببناءها أو مقارنتها. لا يوجد بناء جملة للوحدة أو توجيه التبعية أو اختبار بدء التشغيل من بين المصادر. ولذلك تتجنب المقالة التوصية ببديل يعتمد فقط على لقب غير مدعوم.
اختر آلية دورة الحياة من الوثائق المستهدفة والمتطلبات التشغيلية. مساهمة ToolAcre هي الحد السلبي: `@reboot` خارج نطاقها القابل للمعاينة، في حين أن الأسماء المستعارة للتقويم العادي لها مكافئات شفافة من خمسة حقول.
الخلاصة: الألقاب هي بمثابة السكر للتعبيرات الثابتة - ويتيح لك المولد إنشاء النسخة الصريحة وقراءتها مرة أخرى
الأسماء المستعارة هي تسميات مختصرة للتعبيرات الثابتة في هذا التنفيذ. قم بتوسيعها عندما تستفيد المراجعة أو التخصيص من رؤية المواضع. `@daily` ليس سحرًا؛ إنه منتصف الليل في كافة حقول التقويم غير المقيدة ضمن منطقة المعاينة المحددة.
استخدم القائمة المدعومة، وافحص التوسيع وابتعد عن منتصف الليل عندما يكون ذلك مناسبًا. بالنسبة لأحداث بدء التشغيل، قم بإيقاف وتحديد آلية خاصة بالهدف بدلاً من فرض مشغل دورة حياة غير قابل للمعاينة في منشئ التقويم. هذه الحدود مدروسة وتم اختبارها.