इस सवाल से प्रेरित होकर , मैं रिवर्स से पूछता हूं: सिस्टम प्रशासकों को प्रोग्रामिंग के बारे में कितना पता होना चाहिए? विशेष रूप से, एक sadadmin के लिए कौन से प्रोग्रामिंग टूल उपयोगी हैं?
इस सवाल से प्रेरित होकर , मैं रिवर्स से पूछता हूं: सिस्टम प्रशासकों को प्रोग्रामिंग के बारे में कितना पता होना चाहिए? विशेष रूप से, एक sadadmin के लिए कौन से प्रोग्रामिंग टूल उपयोगी हैं?
जवाबों:
मैं इसके साथ शुरू करूँगा:
सिस्टम प्रशासन सिर्फ प्रोग्रामिंग है। एक कॉन्फ़िगरेशन प्रबंधन प्रणाली आपको एक वितरित मशीन के रूप में आपके पूरे बुनियादी ढांचे को देखने की सुविधा देती है। एक sysadmin के रूप में, आपका काम इस मशीन को प्रोग्राम करना है।
एक पाठ संपादक को जानें। आमतौर पर vi के लिए sysadmins, emacs प्रोग्रामर के लिए।
जानिए कैसे करें स्क्रिप्ट। स्क्रिप्टिंग भाषा चुनें। पर्ल एक बारहमासी पसंदीदा है, जैसा कि शेल / sed / awk कॉम्बो है। रूबी और पायथन काम कर सकते हैं, लेकिन बहुत सी चीजों के लिए वस्तुएं गलत प्रतिमान हैं।
पता है कि पठनीय प्रलेखन कैसे लिखना है।
संस्करण नियंत्रण। कॉन्फ़िगरेशन फ़ाइलों और ऑडिट ट्रेल्स को बनाए रखने के लिए महत्वपूर्ण।
प्रोग्रामिंग शब्दों में सोचना सीखें। प्रक्रियात्मक, वस्तु उन्मुख और कार्यात्मक प्रोग्रामिंग प्रतिमानों को समझें। इनका उपयोग कभी नहीं किया जा सकता है, लेकिन उन्हें जानना आपको असीम रूप से अधिक उत्पादक बनाता है।
डिबगर (या अधिक) और लॉगिंग का उपयोग करना सीखें।
RDBMS का उपयोग करना सीखें। आरडीबीएमएस का सही ढंग से उपयोग करके डेटा प्रोसेसिंग आवश्यकताओं को सरल बनाया जा सकता है। यहां तक कि मांग पर एक डीबीए की भूमिका पर स्विच करने में सक्षम होने से चमत्कार कर सकते हैं।
तैनाती से पहले टेस्ट परीक्षण-संचालित विकास दर्शन देखें।
जोड़ी प्रोग्रामिंग अच्छी है। किसी और को जानने / सलाह / सही करने के लिए अपने कंधे पर रखें।
कम से कम भाषाओं के एक समूह के साथ एक परिचित परिचित होना सीखें। हर साल एक नई भाषा सीखें।
स्क्रिप्टिंग आवश्यक है, लेकिन मैं यह सलाह दूंगा कि कुछ "वास्तविक" भाषाओं को जानना एक निश्चित बोनस है। आप उदाहरण के लिए .NET System.DirectoryServices नाम स्थान के साथ कुछ बहुत उपयोगी चीजें कर सकते हैं।
मैं एक प्रोग्रामर और सीनियर एडमिन / इंटीग्रेटर हूं। काम करने के लिए जहां मैं करता हूं, आपको निम्नलिखित बातें जानने की जरूरत है:
अधिकांश जूनियर व्यवस्थापक हमारे प्रोग्रामरों में से एक को देख सकते हैं और कह सकते हैं (प्राधिकरण के साथ), हां, मैंने इसे सही तरीके से स्थापित किया है, यहां पर आपके पास एक रिसाव है, यही वजह है कि जिस कोड को आपने अभी धक्का दिया है वह टूट रहा है। या "नहीं, MySQL का हमारा संस्करण नहीं है , यहां अपनी क्वेरी देखें ..."
मुझे लगता है कि हम एक अलग तरह के हैं, जब हम एक उपहार प्रशासक को किराए पर लेते हैं .. हम उनके लिए आधे रास्ते की उम्मीद करते हैं (अंततः) प्रोग्रामिंग के लिए अपना रास्ता ढूंढते हैं, भले ही इसकी हैकिंग कुछ हम काम करने के लिए जिस तरह से वे इसे काम करने की आवश्यकता के लिए उपयोग करते हैं ।
संक्षेप में, अच्छी तरह से गोल होना आपको कभी चोट नहीं पहुंचाने वाला है।
कई, कई साल पहले (विंडोज एनटी 3.1 वास्तव में) मैंने एक प्रोग्रामर के रूप में लेखन सेवाओं और यहां तक कि सामयिक डिवाइस ड्राइवर में विशेषज्ञता शुरू की थी। इसका मतलब है कि आप विंडोज कर्नेल को अच्छी तरह से जानते हैं। समय में मैं प्रोग्रामिंग से थोड़ा ऊब गया और नेटवर्क प्रबंधन में बदल गया। मैंने पाया है कि प्रोग्रामिंग में मेरी पृष्ठभूमि बार-बार मूल्यवान है।
ऐसा नहीं है कि VBScript स्क्रिप्ट लिखना अपेक्षाकृत दर्द रहित है। यह जानना कि विंडोज कैसे काम करता है, और विशेष रूप से आईपी कैसे काम करता है, अजीब सर्वर और नेटवर्क की समस्याओं को सुलझाने में बहुत मदद करता है। इसके अलावा यह एक मानसिकता है। प्रोग्रामर का उपयोग दस्तावेज़ीकरण और संस्करण नियंत्रण के लिए किया जाता है, और यह मुझे यह देखने के लिए परेशान करता है कि कितने विंडोज व्यवस्थापक बस कुछ देखने की कोशिश करेंगे कि क्या यह काम करता है और बाद में गड़बड़ करने की चिंता करता है।
सभी बहुत अच्छी तरह से, लेकिन यह कहने के लिए बहुत उपयोगी नहीं है कि दूर चले जाओ और दस साल के लिए एक प्रोग्रामर के रूप में काम करें! हालाँकि, मुझे लगता है कि यह अधिकांश sysadmins को C ++ या C # जैसी "कठिन" भाषा में प्रोग्रामिंग का कुछ अनुभव रखने में मदद करेगा। और यदि आपके पास अपने संगठन में प्रसिद्धि प्रोग्रामर हैं, तो उनके साथ पियें!
जॉन रेनी
बुरी चीजें होती हैं, आपका कोड आपके विचार से अधिक लंबा होगा। उपयोगी त्रुटि संदेशों के साथ इनायत करें। आप डिस्क, रैम, सीपीयू, समय आदि से बाहर निकलेंगे, इससे निपटेंगे।
इतना आशावादी मत बनो, कि एक लाख अंक में एक बार अजीब उत्पादन में बहुत बार हो जाएगा।
यहाँ सभी विवरणों के साथ, मैं यह नहीं कहने जा रहा हूँ कि मैं एक पापी व्यक्ति हूँ। लेकिन तथ्य यह है कि मैं बनाया और विंडोज़ / लिनक्स सर्वर के एक जोड़े का प्रबंधन, मैं कुछ स्वीकार करना चाहिए:
linux में, bash scripting को जानना आवश्यक है - यदि आप जानते हैं कि इसे perl / awk / etc के साथ कैसे एकीकृत किया जाए, तो बेहतर है। मैंने पाया कि इसका उपयोग करने से कई कार्य आसान हो गए।
C / C ++ में प्रोग्राम जानने से बहुत मदद मिलती है। कभी-कभी आपको अपनी आवश्यकताओं के अनुरूप एक GNU स्रोत कोड (यदि आप एक का उपयोग करते हैं) को संशोधित करना होगा क्योंकि एक GNU उत्पाद बन गया है तो यह सुनिश्चित नहीं करता है कि आपको हमेशा समय पर आपकी ज़रूरत की मदद मिलेगी - और कई बार वे C / C ++ में लिखे जाते हैं।
यह जानना कि अपने LDAP से कैसे जुड़ें और अपनी पसंद की स्क्रिप्टिंग भाषा में आवश्यक जानकारी प्राप्त करना वास्तव में समस्या निवारण से विभिन्न प्रकार के स्वचालन (खाता और संसाधन प्रावधान, उपयोगकर्ता या मशीन खातों पर अधिक बुद्धिमान जांच) को आगे बढ़ाने के लिए सब कुछ के लिए महत्वपूर्ण है।
बुनियादी लग सकता है, लेकिन मैंने बहुत सारी ब्रेड-एन-मक्खन की दुकानें देखी हैं, जहां लोगों को नहीं लगता कि उन्हें इस तरह के सिस्टम प्रशासन की आवश्यकता है। बहुत से स्थान प्रशासनिक साधनों के बड़े सेटों पर बड़ा $ $ $ खर्च करते हैं और जहाँ तक मैं बता सकता हूँ, 95% वे जो उपकरण उपयोग करते हैं वह कुछ घंटों की पटकथा के साथ किया जा सकता था अगर कोई जानता था या जानता था कि कैसे कर दो।