मैं यह कैसे बता सकता हूं कि सिस्टम लॉग को देखकर एक सिस्टम रिबूट के साथ-साथ रिबूट के समय भी हो सकता है?


14

अगर कोई लिनक्स सिस्टम रिबूट और सिस्टम लॉग को देखकर रिबूट के समय का निर्धारण करता है, तो मैं कैसे बता सकता हूं /var/log/messages?


रिबूट कैसे? एक कंसोल कमांड के माध्यम से? शक्ति का नुकसान? हार्डवेयर विफलता?
देवीकेनुल

@ देविसेनुल: मुझे लगता है कि यह उपरोक्त सभी होना चाहिए, क्योंकि यह "जैसे शक्ति फिर से कब आया?" जैसे सवालों के जवाब देने के लिए उपयोगी है। "इंजीनियर ने क्या किया? यह कब हुआ?"
स्टीफन लासवर्स्की

जवाबों:


24

बहुत, बहुत आसान है। lastआदेश को पार्स करता है /var/log/wtmpछद्म उपयोगकर्ता रिबूट सहित उपयोगकर्ता गतिविधि के लिए।

कमांड का उपयोग करें: last reboot

man lastअधिक जानकारी के लिए देखें । http://linux.die.net/man/1/last

छद्म उपयोगकर्ता रिबूट लॉग हर बार जब सिस्टम रिबूट होता है। इस प्रकार अंतिम रिबूट लॉग फाइल बनने के बाद से सभी रिबूट का लॉग दिखाएगा।

यदि / var / log / wtmp फ़ाइल को आपके अंतिम रिबूट के बाद से घुमाया गया था, तो आप पहले रिबूट का उपयोग करके देख सकते हैं last -f /var/log/wtmp.1 reboot


हाय हारून, आपकी मदद के लिए धन्यवाद! मैंने अपने सिस्टम पर "अंतिम रीबूट" की कोशिश की और यह मिला: "wtmp की शुरुआत थू मार 1 11:10:40 2012", हालांकि "अपटाइम" ने मुझे यह दिया: "17:29:21 6 दिन, 9:24, 7 उपयोगकर्ता, लोड औसत: 0.00, 0.01, 0.05 "। मेरे सिस्टम पर वर्तमान समय 17:31 मार्च 1, एमएसटी है। तो ऐसा लगता है कि "अंतिम रिबूट" को लगा कि सिस्टम को एक दिन पहले की तुलना में कम रिबूट किया गया था, जो वास्तव में सही नहीं है ... क्या आप मुझे बता सकते हैं कि रिबूट का समय "अंतिम" कैसे निर्धारित करता है? धन्यवाद!
जैक जेड

2
वह टाइमस्टैम्प रिबूट का संकेत नहीं दे रहा है। आपको एक पंक्ति दिखाई देगी, जो दिखती है reboot system boot [kernel] [date]। तो यह आपको बता रहा है कि wtmp कितना पीछे चला गया है और लॉग शुरू होने के बाद से कोई रिबूट नहीं हुआ है। शायद लॉग ऑन 1 मार्च को घुमाया गया?
आरोन कोपले

यह होना चाहिए कि मैंने कुछ अन्य प्रणालियों पर कोशिश की और उनमें से कुछ इस तरह से लाइनें दिखाते हैं: रिबूट सिस्टम बूट 2.6.27.19-5-डिफ्यू थु जुलाई 14 04:10 (64 + 12: 37)। आपका बहुत बहुत धन्यवाद!
जैक जेड

9

यह वितरण से वितरण में भिन्न होता है। कभी-कभी / var / log / {संदेश, syslog, dmesg} इसमें शामिल होंगे। एक के लिए मैंने सिर्फ रिबूट किया, मेरी पिछली 2 लाइनें और रिबूट के बाद बहुत पहले वाले हैं:

Feb 29 13:16:07 hostname kernel: Kernel logging (proc) stopped.
Feb 29 13:16:07 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="592" x-info="http://www.rsyslog.com"] exiting on signal 15.
Feb 29 13:23:15 hostname kernel: imklog 5.8.1, log source = /proc/kmsg started.
Feb 29 13:23:15 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="572" x-info="http://www.rsyslog.com"] start
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's groupid changed to 103
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's userid changed to 101
Feb 29 13:23:15 hostname rsyslogd-2039: Could no open output pipe '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpuset
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpu
Feb 29 13:23:15 hostname kernel: [    0.000000] Linux version 3.0.0-12-server (buildd@crested) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 (Ubuntu 3.0.0-12.20-server 3.0.4)
Feb 29 13:23:15 hostname kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.0.0-12-server root=/dev/mapper/hostname-root ro
Feb 29 13:23:15 hostname kernel: [    0.000000] KERNEL supported cpus:
Feb 29 13:23:15 hostname kernel: [    0.000000]   Intel GenuineIntel
Feb 29 13:23:15 hostname kernel: [    0.000000]   AMD AuthenticAMD
Feb 29 13:23:15 hostname kernel: [    0.000000]   Centaur CentaurHauls
Feb 29 13:23:15 hostname kernel: [    0.000000] Disabled fast string operations
Feb 29 13:23:15 hostname kernel: [    0.000000] BIOS-provided physical RAM map:

... और इसी तरह। यह एक सामान्य शटडाउन दिखाता है। एक अप्रत्याशित शटडाउन आपको ऑफ़लाइन होने का समय नहीं बता सकता है, लेकिन आप अंतिम संदेश और आपके सिस्टम के शोर के आधार पर पहले के अंतर के आधार पर अनुमान लगा सकते हैं।


आपकी सहायताके लिए धन्यवाद! तो क्या मैं सिस्टम रिबूट के लिए एक संकेतक के रूप में "कर्नेल: [0.000000]" पर भरोसा कर सकता हूं?
जैक जेड

5

uptimeकमांड टाइप करें ।

यह आपको बताएगा कि आपका सिस्टम कितने समय तक चला है, साथ ही लोड एवरेज भी।

संपादित करें: आप /var/log/kern.log के लिए भी देख सकते हैं। इसमें केवल कर्नेल संदेश शामिल होने चाहिए, इसलिए बूट संदेशों को खोजना आसान होगा।


नोट: यदि यह सर्वर महत्वपूर्ण है, तो आपको सिस्टम के स्वास्थ्य की निगरानी और आपको आउटेज के बारे में सचेत करने के लिए Nagios जैसी एक केंद्रीकृत syslog सर्वर को लागू करने पर विचार करना चाहिए। मैं AlienVault का उपयोग और प्यार करता हूं, जिसमें शामिल हैं (घटक वैकल्पिक हैं): एक syslog सर्वर, nagios, घुसपैठ का पता लगाने, भेद्यता स्कैनर, परिसंपत्ति ट्रैकिंग और बहुत कुछ।
inChargeOfIT

2

सिस्टम बूट के समय के लिए अपने / var / log / संदेश या / var / log / बूट लॉग में देखें। CentOS 6 से एक उदाहरण ...

Feb 28 23:05:56 dev0 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 28 23:05:56 dev0 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1557" x-info="http://www.rsyslog.com"] (re)start

1

उबंटू पर, मैं स्ट्रिंग की तलाश \] Linux versionमें हूं /var/log/syslog

यह कुछ इस तरह दिखने वाली रेखाओं से मेल खाएगा:

27 Jun 2017 12:33:42.268 Hostname:my-hostname : [ 0.000000] Linux version 3.13.0-100-generic (buildd@lgw01-52) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 (Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39) Context
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.