मेरे sys व्यवस्थापक को कैसे पता चलेगा कि मैंने अपने सिस्टम को रिबूट नहीं किया है?


35

मुझे अपने सिस्टम एडमिनिस्ट्रेटर से एक ईमेल मिला जिसमें कहा गया था कि मुझे कुछ पैच लगाने के लिए अपने सिस्टम को रिबूट करने की आवश्यकता है। मैं इसके बारे में भूल गया था और कुछ घंटों के बाद मुझे एक और मेल मिला, जिसमें कहा गया था कि मुझे अभी अपने सिस्टम को रिबूट करना बाकी है।

मैंने तब से अपने सिस्टम को रिबूट किया है, लेकिन मुझे आश्चर्य है कि मुझे कैसे पता चलेगा कि मैंने अपनी मशीन को रिबूट किया है या नहीं। क्या कोई समझा सकता है कि यह कैसे काम करता है?


10
शायद आपको उससे सिर्फ पूछना चाहिए?
मार्को Ceppi

1
वाह, मुझे कभी महसूस नहीं हुआ कि बहुत सारे तरीके थे। धन्यवाद दोस्तों!
निखिल

जवाबों:


43

इस रिमोट को एसएनएमपी का उपयोग करके जांचने का एक त्वरित तरीका है (बशर्ते आपके SysAdmin ने इसे आपके नेटवर्क पर सेट किया हो):

admin@yourcompany:~$ snmpwalk -v 2c -c <snmpstring> MachineName sysUpTimeInstance
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9461615) 1 day, 2:16:56.15

सबसे अधिक संभावना है, डेटा को किसी प्रकार के नेटवर्क प्रबंधन / निगरानी प्रणाली (जैसे नागियोस या कैक्टी) में सर्वेक्षण और सर्वेक्षण में रखा जाएगा।

यदि कोई भी snmpwalkकमांड के साथ खेलने में रुचि रखता है , तो अपने सिस्टम पर स्थापित एक बुनियादी एसएनएमपी कॉन्फ़िगरेशन प्राप्त करने के लिए यहां देखें ।


अच्छा है। यहाँ किसी ने एक स्क्रिप्ट बनाई है जिसे बनाए रखना थोड़ा कठिन है और यह एक लाइनर अच्छा लग रहा है: D धन्यवाद और एक उत्थान है;)
Rinzwind

@Rinzwind धन्यवाद। यहाँ एक और एक लाइनर है जिसका मैं कभीsudo hping3 -c 2 -p 80 --tcp-timestamp -S <IPaddress> 2>&1 | grep uptime
केविन बोवेन

मॉनिटरिंग सॉफ्टवेयर का हर नियमित टुकड़ा यह कर सकता है, हालांकि एसएनएमपी सबसे आम है और यह एक अच्छा उदाहरण है। +1।
gertvdijk

28

uptimeकमांड के आउटपुट की जांच करने के लिए एक सरल तरीका होगा , जो दिखाता है कि आप कितने समय से सिस्टम को शटडाउन / रीस्टार्ट किए बिना चला रहे हैं।

नमूना आउटपुट:

saji@geeklap:~$ uptime
12:41:29 up  3:08,  2 users,  load average: 1.06, 0.85, 0.86

इसमें कहा गया है कि मेरे सिस्टम को 3 घंटे और 8 मिनट के लिए संचालित किया गया है।

व्यवस्थापक uptimeइस लिंक में विस्तृत के रूप में या तो उपयोग करने के लिए या किसी अन्य विधि का उपयोग करने के लिए एक शेल स्क्रिप्ट सेट कर सकता है । एक अन्य विधि जो व्यवस्थापक उपयोग कर सकता है वह सिस्टम शटडाउन या पुनः आरंभ करने के लिए एक ईमेल सेटअप करना है, इस लिंक पर विवरण उपलब्ध हैं ।


अगर यह मेरे मशीन में लॉग इन करने के लिए उपयोग नहीं किया है, तो यह दूर से किया जाना चाहिए?
निखिल

1
प्रशासनिक उद्देश्यों के लिए एक व्यवस्थापक के पास निश्चित रूप से आपके सिस्टम तक पहुंच होगी। :)
साजी

5
संभावना नहीं @ saji89 एक व्यवस्थापक के पास फिर से अप करने के लिए स्थानीय रूप से हर सिस्टम की जांच करने के लिए बेहतर चीजें हैं ...
रिनजविंड

2
@ रिनविंड, मैं यह नहीं बता रहा था कि उसे इसका उपयोग करना चाहिए। मैं सिर्फ इशारा कर रहा था कि उसके पास मशीन की सुविधा होगी। इस विशेष मामले में, व्यवस्थापक के पास जाँच करने के लिए कारण थे। :)
saji89

1
आह अच्छा। ) @ Saji89; लेकिन मैं बेहतर चीजों तो ऐसा करने के लिए सिस्टम की जांच करने के लिए 'सक्रिय रहने की अवधि मिल गया
Rinzwind

9

@ saji89 ने uptimeकमांड का उल्लेख किया । मैं एक कदम नीचे जाऊंगा, और सीधे शब्दों में यह कहूंगा कि सिसादमिन के पास एक स्क्रिप्ट है जो कहीं न कहीं प्रत्येक कंप्यूटर से जुड़ती है और cat /proc/uptime(या उसके बराबर) होती है। आउटपुट का पहला क्षेत्र समय है, सेकंड में, चूंकि सिस्टम को पिछली बार रिबूट किया गया था, जिसके आउटपुट की तुलना में पार्स करना बहुत आसान है uptime। उदाहरण के लिए, मेरा कंप्यूटर रिटर्निंग के 1441218.24साथ पहली अपटाइम फील्ड देता है । 1441218 सेकंड 16 दिन प्लस 58818 सेकंड और 58818 सेकंड 16 1/3 घंटे है। 16 दिन 16 1/3 घंटे।uptimeup 16 days, 16:20

जब आपको पता चलता है कि सिस्टम को रिबूट किया जाना चाहिए था, तो यह देखने के लिए कि क्या सिस्टम रिबूट किया गया है या नहीं, यह देखने के लिए यह डेटा तुच्छ बनाता है।

यह एक निगरानी उपकरण जैसे कि नगियोस, या एक अलग स्क्रिप्ट के माध्यम से किया जा सकता है जो कि sysadmin अपने कंप्यूटर पर रखता है (या इसके माध्यम से सुलभ है, मैं कल्पना करता हूं) जो प्रत्येक कंप्यूटर को बदले में या समांतर रूप से जोड़ता है और समय प्रिंट करता है कुछ प्रारूप में अंतिम रिबूट के बाद से। यह सब इस बात पर निर्भर करता है कि इसे बनाने के लिए कितना विस्तृत है।


8

एक और तरीका है, बस पूर्णता के लिए, अंतिम आदेश के /var/log/wtmpमाध्यम से देखना है । उदाहरण:

$ last reboot
reboot   system boot  3.2.0-36-generic Thu Jan 24 16:25 - 17:42 (1+01:17)   

wtmp begins Tue Jan  1 06:30:03 2013

यह विधि एक पसंदीदा है क्योंकि यह भी सही mnemonic होने के लिए होता है।

Q: When did the last reboot occur? 
A: Just type 'last reboot'

7

जब रिबूट की आवश्यकता वाले पैकेज के माध्यम से अपडेट किया गया है apt, तो नामक एक फ़ाइल reboot-requiredबनाई जाती है /var/run/। अपडेट के कारण रिबूट की आवश्यकता है या नहीं यह निर्धारित करने के लिए दूर से sysadmin इस फ़ाइल की उपस्थिति की जांच कर सकता है।


ओपी को कंप्यूटर को रिबूट करने के लिए "कुछ पैच लागू करने के लिए" कहा गया। कम से कम मेरे लिए, इसका अर्थ है कि वास्तविक अद्यतन बूट प्रक्रिया के दौरान कुछ तंत्र के माध्यम से होता है । (हो सकता है कि एक बूट स्क्रिप्ट कुछ की तर्ज पर निष्पादित हो apt-get -y upgrade।) इसलिए ऐसा नहीं होगा reboot-requiredक्योंकि उपयुक्त दृष्टिकोण से, अभी तक एक रिबूट की आवश्यकता नहीं है।
एक CVn

2
मुझे संदेह है कि यह मामला है, क्योंकि उपयोगकर्ता को दो बार रिबूट करना होगा यदि अपडेट को इंस्टॉल करने के बाद रिबूट की आवश्यकता होती है, और यदि रिबूट की आवश्यकता वाले अपडेट नहीं हैं, तो सिसडमिन पृष्ठभूमि में उसी स्क्रिप्ट और अपडेट को दूरस्थ रूप से चला सकता है। । अधिक जानकारी के बिना, मुझे लगता है कि वहाँ एक कर्नेल छवि उन्नयन (या कुछ और रिबूट की आवश्यकता होती है) थी, और उपयोगकर्ता को नए कर्नेल को लागू करने के लिए रिबूट करना पड़ा। लेकिन यह सिर्फ अनुमान है।
Onik

2

यह ...

कुछ पैच लागू करने के लिए

प्रमुख हिस्सा है।

यदि व्यवस्थापक कोई अच्छा है तो वह शायद HIS मशीन से अपडेट सेट करता है ताकि पीसी को वेब से एक ही फाइल डाउनलोड न करनी पड़े। यदि ऐसा है तो वह अपनी मशीन से देख सकता है जिसने पैच डाउनलोड किया है।

उसके बाद उन्हें केवल उन प्रणालियों के आईपी पते को देखना होगा, जिन्होंने पैच लोड किया था और जो नहीं आए थे उन्हें ईमेल और ईमेल भेजना था। वह ईमेल यहां तक ​​कि स्वचालित रूप से बनाई गई मेल भी हो सकती है। कल्पना कीजिए कि 500 ​​मशीनें हैं। मैन्युअल रूप से उनमें से प्रत्येक की जांच करना समय की बर्बादी है अगर कई तरीके हैं जहां वह अपने स्वयं के मशीन से कर सकता है।

इस तरह से करने के लिए 1 बहुत महत्वपूर्ण कारण: एक व्यवस्थापक को उन प्रणालियों पर नियंत्रण रखने की आवश्यकता होती है जो उन्हें बनाए रखने की आवश्यकता होती है। इसलिए उसे हमेशा नियंत्रण का एक बिंदु होना चाहिए (यानी उसकी अपनी मशीन जहां उसके पास सभी उपकरण हैं) जहां वह किसी भी मशीन की स्थिति देख सकता है।


3
पैच लागू करने के लिए आपको रिबूट करने की आवश्यकता हो सकती है, कोई गारंटी नहीं कि डाउनलोड केवल रिबूट पर होता है।
कार्तिक टी

2

उत्तर में वर्णित कई वैध तरीके हैं। लॉग इन करना और अपटाइम की जाँच करना एक बड़ी कंपनी के लिए अजीब होगा, लेकिन एक छोटे के लिए संभव है। Sysadmin SNMP के माध्यम से जाँच कर सकता था, लेकिन वही "परेशानी" तर्क का उपयोग किया जा सकता था।

जहाँ तक मेरा संबंध है, सबसे अधिक संभावित परिस्थितियाँ हैं:

  1. Sysadmin कुछ प्रकार की जाँच-सॉफ़्टवेयर चलाता है, शायद Nagios, जो समस्याओं के लिए कंप्यूटर के क्लस्टर की जाँच करता है। एनआरपीई प्लगइन की तरह कुछ का उपयोग अधिकांश प्रणालियों के लिए किया जाएगा और आपको अपटाइम दिखा सकता है (डिस्क के अलावा, उपयोगकर्ताओं में लॉग इन आदि)।
  2. एक समान विधि का उपयोग यह जांचने के लिए किया जा सकता है कि कहां चल रहा है। यदि टू-अपडेट-पैच की जाँच की जा सकती है (आप किस कर्नेल का उपयोग कर रहे हैं), "सभी उपयोगकर्ता अपडेट किए गए हैं" स्क्रिप्ट अभी भी आपके कंप्यूटर पर 'खराब' स्थिति में होने का संकेत दे रही है।

1

यदि सिस्टम एक नेटवर्क से जुड़ा होता है जिसे वह नियंत्रित करता है, तो sysadmin बस स्विच या dhcp सर्वर को देख सकता है कि आपका नेटवर्क कनेक्शन कितने समय से सक्रिय है। यह भी उसे बताएगा कि आपने रिबूट नहीं किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.