Làm thế nào tôi có thể biết nếu một hệ thống được khởi động lại cũng như thời gian khởi động lại bằng cách xem nhật ký hệ thống?


14

Làm cách nào để biết hệ thống Linux đã khởi động lại và xác định thời gian khởi động lại bằng cách xem nhật ký hệ thống, chẳng hạn như /var/log/messages?


Khởi động lại thế nào? Thông qua một lệnh console? Mất điện? Lỗi phần cứng?
devicenull

@devicenull: Tôi nghĩ rằng nó nên là tất cả những điều trên, bởi vì thật hữu ích khi trả lời các câu hỏi như "Khi nào thì điện trở lại?" "Kỹ sư đã làm GÌ? Khi nào thì điều này xảy ra?"
Stefan Lasiewski

Câu trả lời:


24

Rất, rất dễ. Các lastphân tích cú pháp lệnh /var/log/wtmpcho hoạt động người dùng bao gồm giả dùng khởi động lại.

Sử dụng lệnh: last reboot

Xem man lastđể biết thêm thông tin. http://linux.die.net/man/1/last

Nhật ký khởi động lại người dùng giả trong mỗi lần hệ thống được khởi động lại. Do đó, lần khởi động lại cuối cùng sẽ hiển thị nhật ký của tất cả các lần khởi động lại kể từ khi tệp nhật ký được tạo.

Nếu tệp / var / log / wtmp được xoay kể từ lần khởi động lại cuối cùng của bạn, bạn có thể thấy các lần khởi động lại trước bằng cách sử dụng last -f /var/log/wtmp.1 reboot.


Xin chào Aaron, cảm ơn sự giúp đỡ của bạn! Tôi đã thử "khởi động lại lần cuối" trên hệ thống của mình và nhận được điều này: "wtmp bắt đầu Thu Mar 1 11:10:40 2012", tuy nhiên "thời gian hoạt động" đã cho tôi điều này: "17:29:21 lên 6 ngày, 9:24, 7 người dùng, tải trung bình: 0,00, 0,01, 0,05 ". Thời gian hiện tại trên hệ thống của tôi là 17:31 ngày 1 tháng 3, MST. Vì vậy, có vẻ như "lần khởi động lại cuối cùng" nghĩ rằng hệ thống đã được khởi động lại chưa đầy một ngày trước, điều đó không thực sự đúng ... Bạn có thể cho tôi biết thêm về cách "lần cuối" xác định thời gian khởi động lại không? Cảm ơn!
Jack Z

2
Dấu thời gian đó không chỉ ra khởi động lại. Bạn sẽ thấy một dòng trông như thế reboot system boot [kernel] [date]. Vì vậy, điều này cho bạn biết wtmp đã đi được bao xa và rằng không có khởi động lại kể từ khi nhật ký bắt đầu. Có lẽ nhật ký xoay vòng vào ngày 1 tháng 3?
Aaron Copley

Đó phải là lol Tôi đã thử trên một vài hệ thống khác và một số trong số chúng hiển thị các dòng như thế này: khởi động lại hệ thống khởi động 2.6.27.19-5-defa Thu Jul 14 04:10 (64 + 12: 37). Cảm ơn rất nhiều!
Jack Z

9

Nó thay đổi từ phân phối để phân phối. Đôi khi / var / log / {message, syslog, dmesg} sẽ bao gồm nó. Đối với một cái tôi mới khởi động lại, 2 dòng cuối cùng của tôi và những dòng đầu tiên sau khi khởi động lại là:

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:

... và như thế. Điều đó cho thấy một tắt máy bình thường. Việc tắt máy đột xuất có thể không cho bạn biết thời gian ngoại tuyến, nhưng bạn có thể đoán dựa trên khoảng cách giữa tin nhắn cuối cùng và tin nhắn đầu tiên tùy thuộc vào mức độ ồn của hệ thống của bạn.


Cảm ơn bạn đã giúp đỡ! Vì vậy, tôi có thể dựa vào "kernel: [0,000000]" làm chỉ báo để khởi động lại hệ thống không?
Jack Z

5

uptimelệnh.

Điều này sẽ cho bạn biết hệ thống của bạn đã hoạt động được bao lâu, cũng như tải trung bình.

Chỉnh sửa: bạn cũng có thể tìm kiếm /var/log/kern.log. Điều này chỉ chứa các thông điệp kernel, vì vậy việc tìm các thông điệp khởi động sẽ dễ dàng hơn.


Lưu ý: Nếu máy chủ này là quan trọng, bạn nên xem xét việc triển khai một máy chủ nhật ký hệ thống tập trung với một cái gì đó như Nagios để theo dõi sức khỏe hệ thống và cảnh báo bạn về việc ngừng hoạt động. Tôi sử dụng và yêu thích AlienVault, bao gồm (các thành phần là tùy chọn): máy chủ nhật ký hệ thống, nagios, phát hiện xâm nhập, quét lỗ hổng, theo dõi tài sản và hơn thế nữa.
InChargeOfIT

2

Xem trong / var / log / message hoặc / var / log / boot log để biết thời gian khởi động hệ thống. Một ví dụ từ 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

Trên Ubuntu, tôi tìm chuỗi \] Linux versiontrong /var/log/syslog.

Nó sẽ khớp với các dòng trông giống như thế này:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.