हाँ, हाँ, सवाल एक वर्ष से अधिक पुराना है, लेकिन शायद मैं कुछ उपयोगी जोड़ सकते हैं: 9 और 11 के बीच ऑफसेट एक यादृच्छिक पर
कैसे कुछ क्रॉन करने के लिए 20 बार एक दिन? यह क्रॉन के भीतर थोड़ी मुश्किल है, क्योंकि आप 20 निष्पादन समय से 14 घंटे विभाजित कर रहे हैं। मुझे अन्य उत्तरों को बहुत पसंद नहीं है क्योंकि उन्हें आपकी PHP स्क्रिप्ट के लिए एक बैश रैपर स्क्रिप्ट लिखना आवश्यक है।
हालांकि, अगर आप मुझे स्वतंत्रता 8:30 बजे से 11:09 बजे के बीच 13 बार करने के लिए समय और आवृत्ति प्रतिबंध को कम करने की अनुमति देंगे, इस चाल कर सकते हैं, और सभी अपने crontab की सीमाओं के अंदर:
30 8-21/* * * * sleep ${RANDOM:0:2}m ; /path/to/script.php
$ {रैंडम: 3: 2} बैश के $ रैंडम का उपयोग करता है जो अन्य लोगों ने ऊपर वर्णित किया है, लेकिन बैश सरणी स्लाइसिंग जोड़ता है। चूंकि बैश वैरिएबल अवांछित हैं, छद्म-यादृच्छिक हस्ताक्षरित 16-बिट संख्या को इसके 5 दशमलव अंकों के पहले 2 में छोटा कर दिया जाता है, जिससे आप 10 और 99 मिनट के बीच अपने क्रोनबॉब में देरी के लिए एक संक्षिप्त एक-लाइनर देते हैं (हालांकि वितरण पक्षपातपूर्ण है 10 से 32)।
निम्नलिखित आपके लिए भी काम कर सकता है, लेकिन मुझे लगता है कि यह किसी कारण से "कम यादृच्छिक" हो सकता है (शायद बेनफोर्ड का कानून छद्म-यादृच्छिक संख्याओं को संशोधित करके ट्रिगर किया गया है। अरे, मुझे नहीं पता, मैंने गणित को झुकाया। .. बैश पर यह दोष):
30 8-21/* * * * sleep $[RANDOM\%90]m ; /path/to/script.php
आप '\%' क्योंकि ऊपर क्रॉन (अच्छी तरह से, कम से कम लिनक्स 'विक्सी-क्रॉन') लाइन समाप्त हो जाता है जब यह कोई अनपेक्षित सामना करना पड़ता है 'के रूप में प्रस्तुत करना मापांक करने की जरूरत है % '।
शायद आप 7 घंटे की सीमा के साथ एक और लाइन जोड़कर शेष 7 स्क्रिप्ट निष्पादन प्राप्त कर सकते हैं। या 3am और 11pm के बीच चलाने के लिए अपने प्रतिबंध को आराम दें।
स्रोत
2013-04-29 23:07:30
प्रश्न बहुत अच्छी तरह से तैयार नहीं है। आखिरकार आप समय धुरी पर 9 बजे से 11 बजे के बीच 20 अंक वितरित करना चाहते हैं। लेकिन क्या न्यूनतम समय के अंतर पर बाधाएं हैं? 9 बजे से 10:30 बजे के बीच कुछ भी नहीं कर रहा है? ऐसा करने का एकमात्र तरीका स्वीकार्य रूप से क्लाउस के विचार को लगता है: 09:00 पर अपना 20 बार चुनें, जो आपको अपनी बाधाओं को पूरा करने की अनुमति देता है, फिर चीजों को "एट" के साथ शेड्यूल करता है। –