पर मौजूद है या नहीं, मुझे एक ऐसी स्थिति है जहां मुझे स्थानीय मशीन पर एक फ़ाइल की स्थिति की जांच करने की आवश्यकता है (वह एक जहां मैं ansible-playbook ...
पर कॉल करूंगा)।उत्तरदायी - जांचें कि फ़ाइल * स्थानीय * मशीन
यदि उपयोगकर्ता द्वारा बनाई गई एक फ़ाइल मौजूद है, तो इसे दूरस्थ होस्ट (अभियानों) पर कॉपी करने की आवश्यकता है। यदि यह अस्तित्व में नहीं है, तो दूरस्थ होस्टों में से कोई भी इसकी आवश्यकता नहीं है।
मैं जानता हूँ कि मैं जैसे कार्यों को पूर्ण करने है:
- name: Check for ~/.blah/config
stat: path=/home/ubuntu/.blah/config
register: stat_blah_config
- name: Do something with blah config
shell: ~/do_something_with_config.sh
when: stat_aws_config.stat.exists == true
लेकिन केवल तभी, फ़ाइल दूर से मौजूद है काम करेंगे। क्या सशर्त रूप से कार्य (जैसे प्रतिलिपि) निष्पादित करने का कोई तरीका है यदि फ़ाइल स्थानीय रूप से है (stat
को पहले कार्य में स्थानीय रूप से निष्पादित करने के बजाय स्थानीय रूप से निष्पादित करें), और चुपचाप विफल होने पर यह विफल हो जाता है? मुझे यकीन नहीं है कि उत्तरदायी इस तरह की कार्यक्षमता है, लेकिन यह उपयोगी होगा।
वास्तव में, मैं पहले से ही एक जवाब यहाँ मिल गया है हो सकता है, का उपयोग करते हुए 'local_action': http://stackoverflow.com/ प्रश्न/28855236/प्रति-स्थानीय-फ़ाइल-अगर-अस्तित्व-उपयोग-उत्तरदायी है? rq = 1 – FrustratedWithFormsDesigner