جدولة Perl Cron: ابدأ في X Time ، قم بتنفيذ كل دقيقة إلى الأبد
سؤال
أنا أستخدم Perl Cron ، وأريد أن أصدر قاعدة كهذه
قم بتشغيل كل xx دقيقة/ساعات بدءًا من YY: YY الوقت (حتى نهاية الوقت)
كيف يمكنني وضع هذا في سلسلة كرون؟ بيرل: يبدو أن كرون يستخدم نفس بناء الجملة مثل كرون منتظم ، لذا يجب أن تعمل سلسلة كرون منتظمة
تيا!
المحلول
الإجابة المختصرة هي أنك ستحتاج إما إلى كتابة هذا بنفسك أو العثور على حزمة مختلفة من الطرف الثالث ، بسبب متطلباتك. هناك شيئان تطلبهما لا يفعل ذلك:
قم بتشغيل كل X دقيقة.
قل أنك تريد الركض كل 40 دقيقة ، وأنت تكتب هذا
*/40 * * * *
. هذا يعمل في الواقع كل 60 دقيقة في 1:40 ، 2:40 ، إلخ.ابدأ/توقف في الوقت y/z.
ببساطة لا يوجد بناء جملة كرون لهذا الغرض. يمكنك استخدام زوجين أكثر من cronjobs لإضافة/إزالة cronjob الرئيسية في الأوقات المحددة ، ولكن هذه رائحة تشبه إلى حد كبير رمز التعديل الذاتي. بالنظر إلى التعقيد (اقرأ: عدم الموثوقية) ، فمن الأفضل أن تجد نظامًا مختلفًا.
نصائح أخرى
يمكنك تحديد فترات مع مائلة. ها هي كل 5 دقائق:
*/5 * * * *
هذا كل ساعتين:
0 */2 * * *
لا يمكنك إعطاء وقت بدء/ نهاية في كرون.