प्रीमियम: बैश स्क्रिप्ट अभ्यास
एक यथार्थवादी बहु-चरण परिदृश्य को हल करने के लिए चर, फ़ंक्शन, लूप और शर्तों को मिलाएं।
इंटरएक्टिव पाठ शुरू करेंअब सब कुछ मिलाएं: चर, फ़ंक्शन, लूप और शर्तें एक वास्तविक-विश्व स्वचालन स्क्रिप्ट बनाने के लिए।
चरण 1: नींव बनाएं
लूप के साथ कई लॉग फ़ाइलें बनाएं। प्रत्येक पुनरावृत्ति एक नई फ़ाइल लिखती है।
चरण 2: परिणामों का विश्लेषण करें
एक साथ सभी फ़ाइलों को संसाधित करने के लिए ग्लोब पैटर्न का उपयोग करें।
चरण 3: निकालें और गिनें
अपने डेटा से सार्थक आंकड़े प्राप्त करने के लिए पाइप और कमांड को मिलाएं।
वास्तविक-विश्व परिदृश्य
आप 10 माइक्रोसर्विसेज का प्रबंधन कर रहे हैं। प्रत्येक एक डिप्लॉय लॉग उत्पन्न करता है। एक स्क्रिप्ट बनाएं जो:
- बनाती है सभी वर्तमान लॉग के साथ एक बैकअप निर्देशिका।
- फ़िल्टर करती है त्रुटि लाइनों के लिए।
- गिनती करती है सभी सेवाओं में कुल त्रुटियों की।
printf '%s\n' 'INFO deploy started' 'ERROR health check failed' > web.log
printf '%s\n' 'INFO deploy complete' > api.log
function check_deploys {
mkdir -p backup_deploys
for service in web api cache queue worker db; do
if [ -f "$service.log" ]; then
cp "$service.log" backup_deploys/
error_count=$(grep -c 'ERROR' "backup_deploys/$service.log")
echo "Service $service has $error_count errors"
fi
done
}
check_deploys
चेकलिस्ट जिसे आप पुन: उपयोग कर सकते हैं
for var in list; do ...; doneके साथ पुनरावृत्ति करें।if [ test ]; then ...; fiके साथ शर्तें जांचें।$(command)के साथ आउटपुट कैप्चर करें।cat *.ext | grep | wc -lके साथ फ़ाइलें प्रोसेस करें।- संबंधित कार्यों को बंडल करने वाले फ़ंक्शन के साथ व्यवस्थित करें।
ज्ञान जांच
1 / 2आप एक कमांड कैसे चलाते हैं और उसका परिणाम एक चर में संग्रहीत करते हैं?
संदर्भ
ये दस्तावेज़ लिंक इस लेख में उपयोग किए गए कमांड के लिए आधिकारिक विवरण प्रदान करते हैं।
अगला
grep पाइपलाइन, काउंट्स और सहेजे गए इंसिडेंट नोट्स के साथ डिप्लॉयमेंट विफलताओं को तेज़ी से खोजें।