systemd - टाइमर इकाइयाँ जो एनाक्रॉन व्यवहार की नकल करती हैं


13

मुझे एक मशीन के लिए एक टाइमर यूनिट लिखने की ज़रूरत है जो अक्सर चालू होती है (जैसे शास्त्रीय डेस्कटॉप सेटअप)। इस टाइमर इकाई को नियमित रूप से सक्रिय करने की आवश्यकता है लेकिन बहुत बार नहीं (उदाहरण के लिए साप्ताहिक, मासिक)।

मुझे कुछ दृष्टिकोण मिले लेकिन वे सभी वास्तव में फिट नहीं हैं:

  • यदि अतीत में कॉन्फ़िगर किया गया प्वाइंट ऑफ टाइम है तो केवल मैन पेज के अनुसार OnBootSecऔर OnStartupSecनिर्देश सक्रिय हो जाएंगे। मैं OnActiveSecएक नियमित घटना को परिभाषित करने के साथ इन के संयोजन का उपयोग करते हुए कुछ उदाहरण मिला । समस्या यह है: हर बार मशीन बूट होने पर टाइमर कॉन्फ़िगर की गई इकाई को सक्रिय करेगा। यदि आपको एक टाइमर मिला है जो सप्ताह / महीने में ONCE चलना चाहिए जो बहुत दूर है। उदाहरण के लिए: मैं अपने लॉग को दिन में तीन बार घुमाना नहीं चाहता ...

  • OnCalendarनिर्देश के साथ समाधान । यदि मशीन को कॉन्फ़िगर किए गए बिंदु पर बंद किया जाता है (ज्यादातर मध्यरात्रि क्योंकि यदि आप समय विनिर्देश में घंटे को छोड़ देते हैं तो यह 00:00:00 तक चूक जाता है) अगले बूट के बाद टाइमर सक्रिय नहीं होगा। कम से कम मुझे यह कैसे मिला। क्या वह सही है ?

तो यहां यह सवाल आता है:
क्या कैलेंडर के साथ टाइमर अगले स्टार्टअप के ठीक बाद सक्रिय हो जाता है यदि कॉन्फ़िगर समय अतीत में है?
यदि नहीं: क्या इस तरह का व्यवहार प्राप्त करने के लिए वर्कअराउंड है?


ठीक है, मैं के बारे में पता कर रहा हूँ इस । क्या यह अभी भी जाने का रास्ता है? या अधिक सुरुचिपूर्ण समाधान हैं? क्या मौजूदा स्थिति में सुधार के लिए कुछ योजना बनाई गई है?
मिमी जूल

जवाबों:


15

यह सुविधा पहले से ही सिस्टमड (ver> = 212) के निर्देशों का उपयोग करके लागू की गई है , Persistent=इसलिए आपको नौकरी चलाने के लिए दिनांक / समय की स्थापना के लिए निर्देश का Persistent=trueउपयोग करते समय बस यूनिट फ़ाइल में सम्मिलित करने की आवश्यकता है OnCalendar=

लगातार =

एक बूलियन तर्क लेता है। यदि सही है, तो उस समय जब सेवा इकाई अंतिम बार चालू थी, डिस्क पर संग्रहीत है। जब टाइमर सक्रिय होता है, तो सेवा इकाई तुरंत चालू हो जाती है यदि यह उस समय कम से कम एक बार ट्रिगर किया गया होगा जब टाइमर निष्क्रिय था। मशीन बंद होने पर सेवा के छूटे हुए रनों को पकड़ने के लिए यह उपयोगी है। ध्यान दें कि इस सेटिंग का केवल OnCalendar = से कॉन्फ़िगर की गई टाइमर पर प्रभाव पड़ता है।


क्या यह विपरीत नहीं है? ओपी दोनों OnBootSecऔर होने से उत्पन्न अतिरिक्त रन को खत्म करने के बारे में पूछता है OnActiveSecPersistentएक बार बूट पर चलाने के लिए अगर कम से कम एक रन नीचे होने के कारण चूक गया था?
x- यूरी

खैर, आप शायद इस तरह से इसका मतलब था ।
x- यूरी

0

सिस्टमड-डेवेल मेलिंग सूची पर इस ईमेल के अनुसार वांछित व्यवहार रोडमैप पर है और भविष्य में जोड़ा जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.