हिन्दी

डेवलपर टूल · क्रोंटैब जनरेटर

@reboot, @daily, @hourly: Cron का उपनाम शेड्यूल कहां से आया

· पेजभूमि

Cron उपनाम अनुसूची बनाना

सात नामित शेड्यूल उपनाम एक अवरुद्ध रिबूट प्रतीक के बगल में पांच क्षेत्रों में विस्तारित हो रहे हैं
मूल ToolAcre वेक्टर चित्रण

@आशुलिपि पठनीय, लोकप्रिय और सार्वभौमिक नहीं हैं। यह पोस्ट बताती है कि प्रत्येक का विस्तार क्या है, वे कहां से आए हैं, @reboot का विशेष मामला, और इसके बजाय पांच फ़ील्ड कब लिखना है।

@reboot को अस्वीकार कर दिया गया है क्योंकि टूल कैलेंडर समय का पूर्वावलोकन करता है, स्टार्टअप ईवेंट का नहीं

`@reboot` अन्य एट-साइन फॉर्म की तरह दिखता है लेकिन ToolAcre में कोई पांच-फ़ील्ड कैलेंडर विस्तार नहीं है। पार्सर एक स्पष्ट कारण के साथ इसे अस्वीकार कर देता है: पूर्वावलोकन करने का कोई शेड्यूल नहीं है। एक स्टार्टअप ईवेंट एक मशीन या सेवा जीवनचक्र पर निर्भर करता है जिसे यह ब्राउज़र रूट न तो देखता है और न ही नियंत्रित करता है।

यह अंतर अगली-रन सूची को ईमानदार रखता है। कैलेंडर उपनाम ठोस फ़ील्ड और दिनांक बन सकते हैं। एक रिबूट उपनाम भविष्य के पुनरारंभ का आविष्कार किए बिना वर्तमान क्षण से पांच भविष्य के वॉल-क्लॉक उम्मीदवारों का उत्पादन नहीं कर सकता है। इसलिए, खाली या मनगढ़ंत पूर्वावलोकन की तुलना में इनकार करना अधिक सटीक है।

उपनाम और उनके विस्तार - @hourly, @daily और @midnight, @weekly, @monthly, @yearly और @annually पाँच-फ़ील्ड समकक्षों के रूप में

समर्थित तालिका सटीक है. `@hourly` `0 * * * *` बन जाता है; `@daily` और `@midnight` `0 0 * * *` बन जाते हैं; `@weekly` `0 0 * * 0` बन जाता है; `@monthly` `0 0 1 * *` बन जाता है; और `@yearly` प्लस `@annually` `0 0 1 1 *` बन जाते हैं।

UI पांच अलग-अलग बक्सों में मानों की प्रतिलिपि बनाने से पहले एक स्वीकृत उपनाम का समाधान करता है। पार्सिंग सामान्यीकृत पांच-फ़ील्ड अभिव्यक्ति लौटाता है, विवरण उस पार्स किए गए फॉर्म का उपयोग करते हैं और प्रत्येक उपनाम के माध्यम से परीक्षण करते हैं। इसलिए विस्तार छिपे हुए आशुलिपि के बजाय निरीक्षण योग्य है।

कोई डेमॉन-स्टार्ट या सिस्टम-बूट व्यवहार मॉडल नहीं किया गया है

इस पथ में कोई भी कोड ऑपरेटिंग-सिस्टम स्टार्टअप ईवेंट प्राप्त नहीं करता है। कोई डेमॉन प्रक्रिया, बूट पहचानकर्ता या सेवा निर्भरता ग्राफ़ नहीं है। `@reboot` कब चलता है, इसके बारे में कार्यपुस्तिका के कथनों को उस पार्सर से स्थापित नहीं किया जा सकता है जो जानबूझकर टोकन को अस्वीकार करता है।

यदि कोई लक्ष्य किसी स्टार्टअप उपनाम का समर्थन करता है, तो उस लक्ष्य की जीवनचक्र परिभाषा से परामर्श लें और उसका सुरक्षित रूप से परीक्षण करें। ToolAcre की त्रुटि को इस बात के प्रमाण के रूप में उपयोग न करें कि सुविधा सार्वभौमिक रूप से अमान्य है, और किसी अन्य कार्यान्वयन के समर्थन को इस बात के प्रमाण के रूप में उपयोग न करें कि इस मार्ग को इसका पूर्वावलोकन करना चाहिए।

उपनाम की उत्पत्ति और क्रॉस-कार्यान्वयन प्रसार के लिए बाहरी ऐतिहासिक स्रोतों की आवश्यकता होती है

कार्यपुस्तिका ने उपनामों को ऐतिहासिक कार्यान्वयन के लिए जिम्मेदार ठहराया और उनके प्रसार का वर्णन किया। रिपॉजिटरी में उस दावे के लिए कोई प्राथमिक इतिहास स्रोत नहीं है। यह वर्तमान-काल के व्यवहार को सिद्ध करता है: `ALIASES` में सात कुंजियाँ, केस-असंवेदनशील लुकअप और अज्ञात शॉर्टहैंड की अस्वीकृति।

यह व्यावहारिक दस्तावेज़ीकरण के लिए पर्याप्त है। पाठक ठीक-ठीक देख सकते हैं कि यहां कौन से फॉर्म काम करते हैं और उनका विस्तार किस तक होता है। उद्गम को बाद में अभिलेखीय स्रोत के साथ जोड़ा जा सकता है; इसका अनुमान किसी स्थिर नाम या अन्यत्र समान वाक्यविन्यास की लोकप्रियता से नहीं लगाया जाना चाहिए।

कारगर उदाहरण: @daily को 0 0 * * * से बदलना - और क्यों स्पष्ट रूप आपको आधी रात से समय हटाने की सुविधा भी देता है

`@daily` को `0 0 * * *` से बदलने से समय क्षेत्र उजागर हो जाता है। घंटे को 0 से 4 में बदलने से `0 4 * * *` उत्पन्न होता है, जिसे टूल हर दिन 04:00 के रूप में वर्णित करता है। स्पष्ट रूप तब बेहतर होता है जब आधी रात इच्छित दीवार का समय नहीं होता है।

फ़ील्ड बॉक्स उस समायोजन को सरल बनाते हैं और चयनित समय क्षेत्र पूर्वावलोकन क्षणों को नियंत्रित करता है। पार्सर परिणाम में विस्तार के बाद कॉपी की गई अभिव्यक्ति में कोई उपनाम नहीं है, लेकिन फ़ील्ड बदले जाने तक मूल पाठ पूरे अभिव्यक्ति बॉक्स में रह सकता है। तैनाती से पहले वास्तविक कॉपी किए गए मान की समीक्षा करें।

बूट-टाइम ऑर्डरिंग और निर्भरताएँ जनरेटर के बाहर हैं

स्टार्टअप कार्य अक्सर फ़ाइल सिस्टम, नेटवर्क, क्रेडेंशियल्स या अन्य सेवाओं पर निर्भर करता है। ToolAcre के पास कोई निर्भरता मॉडल नहीं है और यह तत्परता, देरी या पुनरारंभ व्यवहार का आकलन नहीं कर सकता है। भले ही यह `@reboot` को स्वीकार कर ले, अभिव्यक्ति सत्यापन उन परिचालन संबंधी प्रश्नों का समाधान नहीं करेगा।

बूट-टाइम निष्पादन को कैलेंडर शॉर्टकट के बजाय जीवनचक्र डिज़ाइन के रूप में मानें। दस्तावेज़ पूर्वापेक्षाएँ और लक्ष्य परिवेश में विफलता प्रबंधन। जनरेटर आवर्ती पांच-फ़ील्ड शेड्यूल के लिए उपयुक्त रहता है जिनकी अगली दीवार-घड़ी के समय की वास्तव में गणना की जा सकती है।

यहां सेवा-प्रबंधक विकल्पों का मूल्यांकन नहीं किया जाता है

कार्यपुस्तिका आधुनिक सेवा इकाइयों की ओर इशारा करती है, लेकिन यह भंडार उनका निर्माण या तुलना नहीं करता है। स्रोतों में कोई इकाई सिंटैक्स, निर्भरता निर्देश या स्टार्टअप परीक्षण नहीं है। इसलिए लेख केवल असमर्थित उपनाम के आधार पर प्रतिस्थापन की अनुशंसा करने से बचता है।

लक्ष्य दस्तावेज़ीकरण और परिचालन आवश्यकताओं में से एक जीवनचक्र तंत्र चुनें। ToolAcre का योगदान नकारात्मक सीमा है: `@reboot` इसके पूर्वावलोकन योग्य डोमेन से बाहर है, जबकि सामान्य कैलेंडर उपनामों में पारदर्शी पांच-क्षेत्र समकक्ष होते हैं।

टेकअवे: उपनाम निश्चित अभिव्यक्तियों के लिए चीनी हैं - और जनरेटर आपको स्पष्ट संस्करण बनाने और इसे वापस पढ़ने की सुविधा देता है

इस कार्यान्वयन में उपनाम निश्चित अभिव्यक्तियों के लिए संक्षिप्त लेबल हैं। जब भी स्थिति देखने से समीक्षा या अनुकूलन से लाभ हो तो उनका विस्तार करें। `@daily` जादू नहीं है; चयनित पूर्वावलोकन क्षेत्र के अंतर्गत सभी अप्रतिबंधित कैलेंडर फ़ील्ड में यह मध्यरात्रि है।

समर्थित सूची का उपयोग करें, विस्तार का निरीक्षण करें और उपयुक्त होने पर आधी रात से दूर चले जाएं। स्टार्टअप ईवेंट के लिए, एक कैलेंडर जनरेटर में एक अपूर्वावलोकन योग्य जीवनचक्र ट्रिगर को मजबूर करने के बजाय एक लक्ष्य-विशिष्ट तंत्र को रोकें और चुनें। वह सीमा जानबूझकर और परीक्षण की गई है।