रन_ऑन्स विकल्प हर बार आपकी प्लेबुक/कार्य चलता है, लेकिन विशिष्ट रन के दौरान ही इसे चलाएगा। तो हर बार जब आप नाटक चलाते हैं, तो यह दौड़ जाएगा, लेकिन केवल सूची में पहले होस्ट पर होगा। यदि आप एक बार उस आदेश को केवल एक बार चलाने के लिए एक रास्ता ढूंढ रहे हैं, तो आपको तर्क उत्पन्न करने की आवश्यकता होगी। अपने उदाहरण का उपयोग करना, यह निम्नलिखित का उपयोग करके प्राप्त किया जा सकता है -
- name: apt update
shell: apt-get update && touch /root/.aptupdated
args:
creates: /root/.aptupdated
इस मामले में फ़ाइल /root/.aptupdated बनाई गई है। कार्य अब यह देखने के लिए जांच करेगा कि क्या यह मौजूद है, और यदि ऐसा होता है तो यह नहीं चलेगा।
संबंधित नोट पर यदि आप जिस कार्य को चलाने का प्रयास कर रहे हैं वह उपयुक्त है, तो आप मूल एपीटी मॉड्यूल का उपयोग करना चाह सकते हैं। इसके बाद आप ऐसा कुछ कर सकते हैं -
- name: apt update
apt: update_cache=yes cache_valid_time=86400
अब यह केवल तभी चलाएगा जब कैश एक दिन से बड़ा हो।
स्रोत
2014-10-16 16:38:10
हाँ- यदि यह 'apt' के लिए है, तो उपयुक्त मॉड्यूल का उपयोग करें। 'खोल' और 'कमांड' बहुत अच्छे हैं लेकिन उनके उपयोग में बहुत सीमित होना चाहिए। – tedder42