سؤال هل من الممكن أن يحتوي ملف crontab على خطوط + 1k من الجداول؟


أخطط لإنشاء مهام مجدولة وأريد أن يقوم لينكس بمعالجة تلك المهام باستخدام crontab.

ملحوظة: بعض المهام لها جداول مختلفة والبعض الآخر هو نفسه

[ملف crontab (schedule.cron)]

* * * * * /application/monitor -source1
* * * * * /application/monitor -source2
* * * * * /application/monitor -source3
...
* * * * * /application/monitor -source500
* * * * * /application/monitor -source501
* * * * * /application/monitor -source502
...
* * * * * /application/monitor -source1000
* * * * * /application/monitor -source1001
* * * * * /application/monitor -source1002

4
2017-08-10 07:47


الأصل


هل سؤالك ما إذا كان cron سيعمل بشكل صحيح مع مثل هذا الملف الكبير ، أو كيفية إنشاء محتويات الملف تلقائيًا؟ - TheSchwa
@ أنا متأكد من أنه إذا كان سيعمل ... - Tim


الأجوبة:


أنا متأكد من أنه لا يوجد حد لطول ملف cron (ربما 65536 حرفًا / خطوطًا بسبب حدود 32 بت؟).

بعض الناس على فائض المكدس و خطأ الخادم يعتقد كان هناك حد:

(2011) أوبونتو ديبيان يقتصر على 256 (وأنا فقط ركض في ذلك). سوف يقبل FreeBSD بسعادة 600 إدخالات. لم أتحقق من ذلك ، لكن 600 إدخالات crontab يجب أن تكون كافية لأي شخص :)

لكن هذا لم يكن الجواب المقبول ، وكان هذا ، ويقول أنه لا يوجد واحد.

لا يبدو أن هناك حدًا موثقًا لعدد مرات الدخول إلى crontab المسموح بها. لذا ، فاختصار التعليمات البرمجية المصدر إلى الإصدار المحدد الذي تستخدمه ، ربما يكون إدخال BUG في صفحة إدارة crontab مفيدًا:

Although cron requires that each entry in a crontab end in a newline character, neither the crontab command nor the cron daemon will detect this error. Instead, the crontab will appear to load normally. However, the command will never run. The best choice is to ensure that your crontab has a blank line at the end.

و على يونيكس ولينكس، كان هذا هو الجواب:

يبدو أن الحد الأدنى للاعبين يعتمد على نظام الملفات (الحد الأقصى لحجم الملف) حيث يقوم cron الخاتم بتخزين إدخالات crontab لكل مستخدم في قائمة مرتبطة - راجع user.c من cronie للحصول على التفاصيل. هذا يعني أن الحد الأقصى لعدد إدخالات الوظيفة لـ crontab غير محدود بشكل أساسي.

لذلك أنا متأكد من أنه غير محدود ، ولكنك تحتاج إلى أن يكون هذا الخط الفارغ في النهاية. :)


1
2017-08-10 08:09



شكرا لإجابتك ، لقد جربت ذلك منذ فترة وجيزة في جهاز Ubunt الظاهري بينما أنتظر بعض الإجابات ، و 1500 سطر في crontab يعمل بشكل جيد. :) - prix
prix جيد أن أعرف :) - Tim