मेरा समग्र कार्य मेरे द्वारा किए जाने वाले प्रत्येक EC2 सर्वर को पिंग करना है।
मैं इस आदेश का उपयोग कर रहा हूं कि:
netstat -W | grep ec2 | cut -d " " -f 18 | sort -u | cut -d "." -f 1,2,3,4 | xargs -0 -p "ping -c 10"
यह सही आउटपुट देता है, लेकिन xargs
प्रति पंक्ति कॉल नहीं कर रहा है :
ping -c 10 ec2-107-20-154-211.compute-1.amazonaws.com
ec2-107-20-169-186.compute-1.amazonaws.com
ec2-13-58-191-91.us-east-2.compute.amazonaws
ec2-18-204-248-223.compute-1.amazonaws.com
ec2-18-207-50-150.compute-1.amazonaws.com
ec2-18-234-32-173.compute-1.amazonaws.com
ec2-34-192-54-86.compute-1.amazonaws.com
ec2-34-195-196-96.compute-1.amazonaws.com
ec2-34-206-216-146.compute-1.amazonaws.com
?...^C
प्रत्येक चरण की लिखित व्याख्या है:
-W
पूरा FQDNs प्राप्त करने के लिए ध्वज के साथ netstat चलाएं और छोटे होस्टनाम नहींgrep
ec2 के लिएcut
आउटपुट केवल होस्टनाम कॉलम पाने के लिएsort
अद्वितीय होस्टनामcut
hostname फिर से पोर्टनंबर को ड्रॉप करने के लिए जैसेec2-1-2-3.amazon.com.80
->ec2-1-2-3.amazon.com
xargs
ping
दस बार प्रत्येक मेजबान के लिए उत्पादन
मुझे लगता है कि मैं ओएस एक्स संस्करण के साथ या तो एक मुद्दे पर चल रहा हूं xargs
क्योंकि एक ही आउटपुट को wc -l
आठ पंक्तियों को दिखाता है:
netstat -W | grep ec2 | cut -d " " -f 18 | sort -u | cut -d "." -f 1,2,3,4 | wc -l
8
मैं यहाँ xargs पहलू पर ध्यान केंद्रित कर रहा हूँ। यह इस कार्य का एकमात्र हिस्सा है जो स्पष्ट रूप से काम नहीं कर रहा है।